using System.IO; using System.Runtime.Serialization.Json; using System.Text; using System.Windows.Forms; namespace CnsosNet { public class JsonEngine { //把對象生成json碼 public static string Serialize(object objectToSerialize) { using (MemoryStream ms = new MemoryStream()) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(objectToSerialize.GetType()); serializer.WriteObject(ms, objectToSerialize); ms.Position = 0; using (StreamReader reader = new StreamReader(ms)) { return reader.ReadToEnd(); } } } //把json碼解析成對象 public static T Deserialize<T>(string jsonString) { if (jsonString == null || jsonString.Length <= 0) return default(T); T obj = default(T); try { using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); obj = (T)serializer.ReadObject(ms); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } return obj; } } }