2021-4-27 更新
现在很多人都喜欢用Newtonsoft.Json ,有时做一个小工具,只想一个exe文件,引用NewTonsoft.Json会有两个文件,这里我们可以用.net 框架自带的System.Web.Extensions,这样就只有一个exe文件
using System.Web.Script.Serialization;
现在很多人都喜欢用Newtonsoft.Json ,有时做一个小工具,只想一个exe文件,引用NewTonsoft.Json会有两个文件,这里我们可以用.net 框架自带的System.Web.Extensions,这样就只有一个exe文件
以下是Model实例源码 注意:下面每个字段都是public 不然解析是空 2019-08-22
public class PersonInfo_Model { //转发请保留原创地址 http://www.luofenming.com/show.aspx?id=ART2018081400001 public int errorcode { get; set; } public string message { get; set; } public Data_Model data { get; set; } } public class Data_Model { public int id { get; set; } public string name { get; set; } public int age { get; set; } public int sex { get; set; } public Address_Model address { get; set; } } public class Address_Model { public string name { get; set; } public string postcode { get; set; } }以下是解析与修改Json//引用程序集System.Web.Extensions
using System.Web.Script.Serialization;
private void button1_Click(object sender, EventArgs e) { string rJson = "{\r\n \"errorcode\":0,\r\n \"message\":\"\",\r\n \"data\":{\r\n \"id\":1, \"name\":\"罗分明\",\r\n \"age\":23,\r\n \"sex\":0,\r\n \"address\":{\r\n \"name\":\"江西九江\",\r\n \"postcode\":\"4111003\"\r\n }\r\n }\r\n}"; JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //反序列化Json成PersonInfo_Model 注意PersonInfo_Model所有的字段要跟Json里成的 KEY对应 不然反序列后会成空 PersonInfo_Model dataModel = javaScriptSerializer.Deserialize<PersonInfo_Model>(rJson); string name = dataModel.data.address.name;//这样可以获得 "江西九江" dataModel.data.address.name = "广东珠海"; string s= javaScriptSerializer.Serialize(dataModel);//将Model序列化成string }