public static class JsonHelper { /// <summary> /// Json序列化,用于发送到客户端 /// </summary> public static string ToJsJson(this object item) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType()); using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, item); StringBuilder sb = new StringBuilder(); sb.Append(Encoding.UTF8.GetString(ms.ToArray())); return sb.ToString(); } } /// <summary> /// Json反序列化,用于接收客户端Json后生成对应的对象 /// </summary> public static T FromJsonTo<T>(this string jsonString) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); T jsonObject = (T)ser.ReadObject(ms); ms.Close(); return jsonObject; } }
[DataContract] public class ProductInfo { [DataMember] public string ProductID { get; set; } [DataMember] public int ProductCategoryID { get; set; } [DataMember] public string IsMainProduct { get; set; } [DataMember] public List<string> ResourceIDs { get; set; } }
实例json [{"ProductID":66318,"ProductCategoryID":4,"ResourceIDs":[1606172,1606169,1606165,235237,1606160,235239,1606152,235241,1606127,1606109,1606137,263295,1606135,1606065,263294,263288,275168,226774,275186,275184,275183,275182,275166,226765,275178,275180,275175,275174,275173,275172,275170,275169,275142,226764,274464,226763,274461,226760,274946,274943,274473,274468,270911,274459,226710],"IsMainProduct":"F"},{"ProductID":81602,"ProductCategoryID":4,"ResourceIDs":[1606152,226760,226764,226774,235241,274461,275142,275168,275174,275175,275178,275180],"IsMainProduct":"F"}]
json 转换list List<ProductInfo> listJson = JsonHelper.FromJsonTo<List<ProductInfo>>(str);