using System;json
using System.Collections.Generic;spa
using System.Linq;對象
using System.Text;內存
using System.ServiceModel;字符串
using System.Runtime.Serialization;get
using System.ServiceModel.Web;string
using System.Runtime.Serialization.Json;it
using System.IO;io
namespace jsonclass
{
class Program
{
static void Main(string[] args)
{
people guanYu = new people(1,"關羽",23);
MemoryStream ms = new MemoryStream();//建立一個內存流;
DataContractJsonSerializer jData = new DataContractJsonSerializer(typeof(people));//根據對象的類型建立一個DataContractJsonSerializer對象。感受像是把數據對象類型綁定到該對象上。
jData.WriteObject(ms, guanYu);//將指定對象,寫入到流中。
ms.Position = 0;//設置流的當前位置
StreamReader reader = new StreamReader(ms);//建立一個能夠從流中讀取數據的對象。
Console.WriteLine(reader.ReadToEnd());//從流的當前位置一直讀到流的末尾,並輸出到控制檯。
string str = "{\"Age\":1,\"Name\":\"劉備\",\"Id\":10}"; //要轉換成json對象的字符串
MemoryStream mss = new MemoryStream(Encoding.UTF8.GetBytes(str));//建立內存流,把字節序列化的json字符串當作參數傳入到實例化類中
people liuBei = jData.ReadObject(mss) as people;//轉化成json對象
Console.WriteLine(liuBei.Name);
}
}
[DataContract]
public class people
{
/// <summary>
/// id,name,age
/// </summary>
/// <param name="id"></param>
/// <param name="name"></param>
/// <param name="age"></param>
public people(int id, string name, int age)
{
Name = name;
Id = id;
Age = age;
}
[DataMember]
public string Name
{
set;
get;
}
[DataMember]
public int Age
{
set;
get;
}
[DataMember]
public int Id
{
set;
get;
}
}
}