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);
}
}
}
分享到:
相关推荐
使用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数据时,通常需要依赖一些特定的Java档案(JAR)库,这些库提供了与JSON相关的解析和序列化功能。"extjs json所需jar包"指的是支持ExtJS与JSON交互的Java类库。 JSON(JavaScript Object ...
在这个项目中,开发者可能会遇到如何配置Struts2的JSON结果类型、如何在Hibernate中序列化和反序列化JSON对象、如何在ExtJS中解析和展示JSON数据等问题。理解并熟练掌握这些技术的集成和使用,对于开发高效、响应式...
在Java中,可以使用org.json库或者Jackson库来方便地序列化和反序列化Java对象为JSON。 JSON作为一种数据交换格式,其结构清晰、易于读写,非常适合于前端与后端之间的数据交互。在Servlet中,我们可以将Java对象...
综上所述,这个压缩包提供的资料可能涵盖了如何在Struts2中配置和使用Hibernate进行数据持久化,如何利用Spring进行依赖管理和数据访问,以及如何结合ExtJS创建富客户端界面并利用JSON进行前后端通信。对于想要深入...
1. **JSON 序列化与反序列化** - **序列化**:是指将 .NET 对象转换为 JSON 字符串的过程。例如,你可以使用 `JsonSerializer` 类的 `SerializeObject` 方法将一个 C# 对象转换为 JSON 字符串。 ```csharp var my...
然而,当使用 Struts2 的 JSON 插件时,它默认返回的对象格式与 ExtJS 需要的数组格式不符,如下所示: ```json {"cls":"folder","id":10,"leaf":false,"children":[{"cls":"file","id":11,"leaf":true,"children":...
Struts2、ExtJS和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将详细介绍这三个技术及其整合过程。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式...
它是ExtJs与Struts2之间数据传输的理想选择,因为JSON数据可以直接被JavaScript对象表示,无需额外的序列化和反序列化步骤。 在给定的例子中,为了实现数据交互,首先定义了Hibernate映射文件(ORDER.XML 和 CUSTOM...
总结起来,这篇文章介绍了一种使用SSH、ExtJS和JSON实现动态树搜索的高效方法。它避免了全树展开的低效,通过路径查找提高了性能,同时通过ExtJS的事件处理和前端-后端通信实现了良好的用户体验。
在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...
### Sping+Hibernate+Extjs+Json 开发实例解析 #### 一、技术栈概述 在本案例中,我们探讨的是一个使用 Spring、Hibernate、Extjs 和 JSON 的集成开发实例。这一组合通常被用于构建复杂的企业级应用,尤其是那些...
在SSH+EXTJS+JSON的组合中,Spring负责后端业务逻辑和数据访问,Struts2处理MVC流程,Hibernate处理数据持久化,EXTJS构建前端用户界面,而JSON作为前后端数据交换的格式,提高了数据传输效率和易读性。这种组合在...
1,数据库请使用sql server 2005或者以上版本 直接附加即可。 2,开发环境请使用2008或者以上版本。 3,Web.config请正确配置数据库连接 ...本系统框架为ExtJS与.NET结合开发实例 系统简洁 实用 美观 不喜勿拍
标题 "extjs 跟 struts+json" 暗示了本文将探讨如何使用ExtJS框架与Struts框架结合,通过JSON数据格式进行交互。ExtJS是一个强大的JavaScript库,用于构建富客户端Web应用程序,而Struts是Java Web开发中的一个MVC...
在本项目中,它被用来处理JSON序列化和反序列化,与`JSONHelper.cs` 文件协同工作。例如,`Newtonsoft.Json.JsonConvert` 类提供了许多静态方法,如`DeserializeObject`和`SerializeObject`,用于将JSON字符串转化为...
7. **JSON时间解析器具**:库如Jackson提供了`JsonFormat`注解,可以用来指定日期和时间的格式,确保在序列化和反序列化过程中日期的正确处理。 8. **除去不想生成的字段**:在某些情况下,可能希望忽略对象中的...
压缩文件中包含了两个文件,第一个文件详细说明了在页面上EXTJS如何使用JSON对象进行数据的查询与加载。第二个文件详细说明了在后台JAVA类中,如何对JSON对象进行处理,并返回JSON对象,以供前台页面使用
本教程将详细讲解如何在SSH(Spring、Struts2、Hibernate)框架下,结合ExtJS库和JSON数据格式来实现这一功能。 首先,SSH框架是一个流行的企业级Java Web开发框架,Spring负责管理对象,Struts2处理请求与响应,...