JSON序列化与反序列化

1.add reference [System.Runtime.Serializatio]

2.using [System.Runtime.Serialization] and [System.Runtime.Serialization.Json]

3.define model class add [DataContract] and [DataMember] attribute

class Demo
{
    [DataMember]
    public int ID { get; set; }
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public int Age { get; set; }
}

4.convert code

DataContractJsonSerializer jsonSer = new DataContractJsonSerializer(typeof(Demo));
            
//json to model
string strJson = "{\"ID\":3,\"Name\":\"TestName\",\"Age\":100}";
Stream ms1 = new MemoryStream(Encoding.Default.GetBytes(strJson));
Demo item1 = (Demo)jsonSer.ReadObject(ms1);
ms1.Close();
            
//model to json
Demo item2 = new Demo { ID = 1, Name = "TestName", Age = 12 };
Stream ms2 = new MemoryStream();
jsonSer.WriteObject(ms2, item2);
byte[] arr = new byte[ms2.Length];
ms2.Position = 0;
ms2.Read(arr, 0, arr.Length);
ms2.Close();
Console.WriteLine(Encoding.Default.GetString(arr));

 

posted @ 2018-02-27 17:37  平小宅  阅读(103)  评论(0编辑  收藏  举报