Newtonsoft.Json,一款.NET中开源的Json序列化和反序列化类库(下载地址http://json.codeplex.com/)。
下面是Json序列化和反序列化的简单封装:
/// <summary> /// Json帮助类 </summary> public class JsonHelper { <summary> 将对象序列化为JSON格式 </summary> <param name="o">对象</param> <returns>json字符串</returns> static string SerializeObject(object o) { string json = JsonConvert.SerializeObject(o); return json; } 解析JSON字符串生成对象实体 <typeparam name="T">对象类型</typeparam> <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})对象实体static T DeserializeJsonToObject<T>(string json) where T : class { JsonSerializer serializer = new JsonSerializer(); StringReader sr = new StringReader(json); object o = serializer.Deserialize(new JsonTextReader(sr),typeof(T)); T t = o as T; return t; } 解析JSON数组生成对象实体集合 json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])对象实体集合static List<T> DeserializeJsonToList<T>(typeof(List<T>)); List<T> list = o as List<T>; return list; } 反序列化JSON到给定的匿名对象. 匿名对象类型<param name="anonymousTypeObject">匿名对象static T DeserializeAnonymousType<T>(string json,T anonymousTypeObject) { T t = JsonConvert.DeserializeAnonymousType(json,anonymousTypeObject); return t; } }
为进一步理解Newtonsoft,写了一些测试的例子: