using Newtonsoft.Json;
using System.Collections.Generic;
using System.IO;/// <summary>
/// Json幫助類
/// </summary>
public class JsonHelper
{/// <summary>/// 將對(duì)象序列化為JSON格式/// </summary>/// <param name="o">對(duì)象</param>/// <returns>json字符串</returns>public static string SerializeObject(object o){string json = JsonConvert.SerializeObject(o);return json;}/// <summary>/// 解析JSON字符串生成對(duì)象實(shí)體/// </summary>/// <typeparam name="T">對(duì)象類型</typeparam>/// <param name="json">json字符串</param>/// <returns>對(duì)象實(shí)體</returns>public 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;}/// <summary>/// 解析JSON數(shù)組生成對(duì)象實(shí)體集合/// </summary>/// <typeparam name="T">對(duì)象類型</typeparam>/// <param name="json">json數(shù)組字符串</param>/// <returns>對(duì)象實(shí)體集合</returns>public static List<T> DeserializeJsonToList<T>(string json) where T : class{JsonSerializer serializer = new JsonSerializer();StringReader sr = new StringReader(json);object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));List<T> list = o as List<T>;return list;}/// <summary>/// 反序列化JSON到給定的**對(duì)象./// </summary>/// <typeparam name="T">**對(duì)象類型</typeparam>/// <param name="json">json字符串</param>/// <param name="anonymousTypeObject">**對(duì)象</param>/// <returns>**對(duì)象</returns>public static T DeserializeAnonymousType<T>(string json, T anonymousTypeObject){T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);return t;}
}