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);
