using System.IO; using System.Runtime.Serialization.Json; using System.Text; namespace Com.FirstSolver.Splash { public static class JSONHelper { /// <summary> /// Json序列化 /// </summary> /// <param name="item">要序列化的对象实例</param> /// <returns>序列化后的Json字符串</returns> public static string ToJSONString(this object item) { using (MemoryStream ms = new MemoryStream()) { DataContractJsonSerializer ser = new DataContractJsonSerializer(item.GetType()); ser.WriteObject(ms, item); return Encoding.UTF8.GetString(ms.ToArray()); } } /// <summary> /// Json反序列化 /// </summary> /// <typeparam name="T">要反序列化的参数类型</typeparam> /// <param name="jsonString">要反序列化的Json字符串</param> /// <returns>反序列化后的对象实例</returns> public static T FromJSONTo<T>(this string jsonString) { using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); T jsonObject = (T)ser.ReadObject(ms); return jsonObject; } } } }