ASP.NETJSON的序列化和反序列化之Newtonsoft.Json

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

我们用到的类库为:Newtonsoft.Json,通过VS工具中NuGet程序包可以下载。

一:对象转json-序列化

publicclassStudent

{publicintID {get;set; }publicstringName {get;set; }publicintAge {get;set; }

}//第一种:单一实体类Student s =newStudent();

s.Age=18;

s.ID=1;

s.Name="张三";stringjson = Newtonsoft.Json.javaScriptConvert.SerializeObject(s);//序列化对象(对象转json)//第二种:List<T>泛型 和上边方法相同List<Student> list =newList<Student>();for(inti =1; i <5; i++)

{

Student stu=newStudent();

stu.Age= i +12;

stu.ID=i;

stu.Name="No."+i.ToString();

list.Add(stu);

}

json= Newtonsoft.Json.JavascriptConvert.SerializeObject(list);

二:json转对象 - 反序列化

//json只有一条数据JavaScriptObject obj =(JavaScriptObject)JavaScriptConvert.DeserializeObject(json);stringName = obj["Name"].ToString();//取出某一字段Response.Write(Name);//json只有一条数据Student ms = (Student)JavaScriptConvert.DeserializeObject(JavaScriptConvert.SerializeObject(obj),typeof(Student));//json转对象Response.Write(ms.Name);//json有多条数据JavaScriptArray javascript =(JavaScriptArray)JavaScriptConvert.DeserializeObject(json);

List<Student> slist =newList<Student>();for(inti =0; i < javascript.Count; i++)

{

JavaScriptObject temp=(JavaScriptObject)javascript[i];

Student model= (Student)JavaScriptConvert.DeserializeObject(JavaScriptConvert.SerializeObject(temp),typeof(Student));

slist.Add(model);

}

//4.0方法

List<Student>slist= JsonConvert.DeserializeObject<List<Student>>(json);

Response.Write(slist[0].Name);

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航