`
phenixcxg
  • 浏览: 22524 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

ExtJs JsonHelper Json序列化与反序列化

阅读更多
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;
using System.Runtime.Serialization.Json;
using System.Reflection;

namespace CommonHelper
...{
    public static class JSONHelper
    ...{
        /**//// <summary>
        /// 返回本对象的Json序列化
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ToJSON(this object obj)
        ...{            
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            var st = serializer.Serialize(obj).Replace(""", "'");
            return st;
        }

        /**//// <summary>
        /// 返回对象序列化
        /// </summary>
        /// <param name="obj">源对象</param>
        /// <param name="selfName">数据源节点名称</param>
        /// <param name="others">其它节点对象</param>
        /// <returns></returns>
        public static string ToJSON(this object obj, string selfName, object others)
        ...{
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            serializer.MaxJsonLength = int.MaxValue;
            SortedList<string, object> data = new SortedList<string, object>();
            data.Add(selfName, obj);
            PropertyInfo[] pis = others.GetType().GetProperties();
            foreach (PropertyInfo pi in pis)
            ...{
                data.Add(pi.Name,pi.GetValue(others,null));
            }
            return serializer.Serialize(data).Replace(""", "'");
        }

        /**//// <summary>
        /// 对象序列化
        /// </summary>
        /// <param name="obj">源对象</param>
        /// <param name="selfName">源节点名称</param>
        /// <returns></returns>
        public static string ToJSON(this object obj, string selfName)
        ...{
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            SortedList<string, object> data = new SortedList<string, object>();
            data.Add(selfName, obj);
            string s = data.ToJSON();
            return s.Replace(""", "'");
        }

        /**//// <summary>
        /// 对象序列化
        /// </summary>
        /// <param name="obj">源对象</param>
        /// <param name="recursionDepth">获取或设置用于约束要处理的对象级别的数目的限制,默认值为 100;该属性设置为小于 1 的值时将引发System.ArgumentOutOfRangeException</param>
        /// <returns></returns>
        public static string ToJSON(this object obj, int recursionDepth)
        ...{
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            serializer.RecursionLimit = recursionDepth;
            return serializer.Serialize(obj).Replace(""", "'");
        }

        /**//// <summary>
        /// 将本JSON字符串反序列化为对象
        /// </summary>
        /// <typeparam name="T">返序列化类型</typeparam>
        /// <param name="json">Json字符串</param>
        /// <returns></returns>
        public static T DeJSON<T>(this string json)
        ...{
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            return serializer.Deserialize<T>(json);
        }
    }
}
2
4
分享到:
评论

相关推荐

    extjs-json-数据转换

    使用ExtJs获取后台json格式的数据必须的七个jar包,commons-beanuti-1s-1.7.0.jar,commons-collections-3.1.jar,commons-lang-2.5.jar,commons-logging-1.0.4.jar,ezmorph-1.0.4.jar,json-lib-2.1.jar,...

    extjs中json 所需驱动

    extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动extjs中json 所需驱动...

    extjs json所需jar包

    在使用ExtJS处理JSON数据时,通常需要依赖一些特定的Java档案(JAR)库,这些库提供了与JSON相关的解析和序列化功能。"extjs json所需jar包"指的是支持ExtJS与JSON交互的Java类库。 JSON(JavaScript Object ...

    JSON.rar_JSON Hibernate_extjs_json struts ext_jsp json extjs_str

    在这个项目中,开发者可能会遇到如何配置Struts2的JSON结果类型、如何在Hibernate中序列化和反序列化JSON对象、如何在ExtJS中解析和展示JSON数据等问题。理解并熟练掌握这些技术的集成和使用,对于开发高效、响应式...

    extjs+servlet+json简单应用

    在Java中,可以使用org.json库或者Jackson库来方便地序列化和反序列化Java对象为JSON。 JSON作为一种数据交换格式,其结构清晰、易于读写,非常适合于前端与后端之间的数据交互。在Servlet中,我们可以将Java对象...

    struts2-hibernate-spring-Extjs-json.rar_JSON_extjs_extjs json st

    综上所述,这个压缩包提供的资料可能涵盖了如何在Struts2中配置和使用Hibernate进行数据持久化,如何利用Spring进行依赖管理和数据访问,以及如何结合ExtJS创建富客户端界面并利用JSON进行前后端通信。对于想要深入...

    Newtonsoft.Json 源码

    1. **JSON 序列化与反序列化** - **序列化**:是指将 .NET 对象转换为 JSON 字符串的过程。例如,你可以使用 `JsonSerializer` 类的 `SerializeObject` 方法将一个 C# 对象转换为 JSON 字符串。 ```csharp var my...

    Extjs Tree + JSON + Struts2 例子

    然而,当使用 Struts2 的 JSON 插件时,它默认返回的对象格式与 ExtJS 需要的数组格式不符,如下所示: ```json {"cls":"folder","id":10,"leaf":false,"children":[{"cls":"file","id":11,"leaf":true,"children":...

    struts2+extjs+json整合实例

    Struts2、ExtJS和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将详细介绍这三个技术及其整合过程。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式...

    ExtJs + Struts2 + JSON 程序总结

    它是ExtJs与Struts2之间数据传输的理想选择,因为JSON数据可以直接被JavaScript对象表示,无需额外的序列化和反序列化步骤。 在给定的例子中,为了实现数据交互,首先定义了Hibernate映射文件(ORDER.XML 和 CUSTOM...

    SSH+extjs+json动态树的搜索

    总结起来,这篇文章介绍了一种使用SSH、ExtJS和JSON实现动态树搜索的高效方法。它避免了全树展开的低效,通过路径查找提高了性能,同时通过ExtJS的事件处理和前端-后端通信实现了良好的用户体验。

    Extjs4的FormPanel从后台load json数据的要点

    在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...

    Sping+Hibernate+Extjs+Json

    ### Sping+Hibernate+Extjs+Json 开发实例解析 #### 一、技术栈概述 在本案例中,我们探讨的是一个使用 Spring、Hibernate、Extjs 和 JSON 的集成开发实例。这一组合通常被用于构建复杂的企业级应用,尤其是那些...

    ssh+extjs+json

    在SSH+EXTJS+JSON的组合中,Spring负责后端业务逻辑和数据访问,Struts2处理MVC流程,Hibernate处理数据持久化,EXTJS构建前端用户界面,而JSON作为前后端数据交换的格式,提高了数据传输效率和易读性。这种组合在...

    EXTJS JSON ASP.NET C#超简洁系统框架 实例

    1,数据库请使用sql server 2005或者以上版本 直接附加即可。 2,开发环境请使用2008或者以上版本。 3,Web.config请正确配置数据库连接 ...本系统框架为ExtJS与.NET结合开发实例 系统简洁 实用 美观 不喜勿拍

    extjs 跟 struts+json

    标题 "extjs 跟 struts+json" 暗示了本文将探讨如何使用ExtJS框架与Struts框架结合,通过JSON数据格式进行交互。ExtJS是一个强大的JavaScript库,用于构建富客户端Web应用程序,而Struts是Java Web开发中的一个MVC...

    ExtJS4.2后台分页需要的几个文件

    在本项目中,它被用来处理JSON序列化和反序列化,与`JSONHelper.cs` 文件协同工作。例如,`Newtonsoft.Json.JsonConvert` 类提供了许多静态方法,如`DeserializeObject`和`SerializeObject`,用于将JSON字符串转化为...

    ExtJS JSON使用手册

    7. **JSON时间解析器具**:库如Jackson提供了`JsonFormat`注解,可以用来指定日期和时间的格式,确保在序列化和反序列化过程中日期的正确处理。 8. **除去不想生成的字段**:在某些情况下,可能希望忽略对象中的...

    EXTJS下JSON对象实用源码 包含页面代码及后台JAVA类代码

    压缩文件中包含了两个文件,第一个文件详细说明了在页面上EXTJS如何使用JSON对象进行数据的查询与加载。第二个文件详细说明了在后台JAVA类中,如何对JSON对象进行处理,并返回JSON对象,以供前台页面使用

    SSH+extjs+json动态树的构造(附详细步骤及源码)

    本教程将详细讲解如何在SSH(Spring、Struts2、Hibernate)框架下,结合ExtJS库和JSON数据格式来实现这一功能。 首先,SSH框架是一个流行的企业级Java Web开发框架,Spring负责管理对象,Struts2处理请求与响应,...

Global site tag (gtag.js) - Google Analytics