JSON序列化与反序列化

Posted 平小宅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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));

 

以上是关于JSON序列化与反序列化的主要内容,如果未能解决你的问题,请参考以下文章