DataContractJsonSerializer 序列化 和反序列化json


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM