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,写了一些测试的例子: