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