成都网站建设:思乐科技,有关网站开发的创意,高校网站建设策划,网站制作服务订单Newtonsoft.Json 是一个流行的 JSON 操作库#xff0c;用于在 .NET 应用程序中序列化、反序列化和操作 JSON 数据。下面是 Newtonsoft.Json 常用的一些方法#xff1a; 序列化对象为 JSON 字符串#xff1a; 
string json  JsonConvert.SerializeObject(obj);var obj  new {…Newtonsoft.Json 是一个流行的 JSON 操作库用于在 .NET 应用程序中序列化、反序列化和操作 JSON 数据。下面是 Newtonsoft.Json 常用的一些方法 序列化对象为 JSON 字符串 
string json  JsonConvert.SerializeObject(obj);var obj  new { Name  John, Age  30 };
string json  JsonConvert.SerializeObject(obj);
// 输出结果{Name:John,Age:30}反序列化JSON字符串为对象  
T obj  JsonConvert.DeserializeObjectT(json);string json  {\Name\:\John\,\Age\:30};
var obj  JsonConvert.DeserializeObjectPerson(json);
// 其中 Person 类定义为class Person { public string Name { get; set; } public int Age { get; set; } }将JSON对象转换成键值对集合  
JObject jObject  JObject.Parse(json);
Dictionarystring, string dictionary  jObject.ToObjectDictionarystring, string();var obj  new { Name  John, Age  30 };
string json  JsonConvert.SerializeObject(obj);
// 输出结果{Name:John,Age:30}忽略对象中的null值属性 
string json  JsonConvert.SerializeObject(obj, new JsonSerializerSettings
{NullValueHandling  NullValueHandling.Ignore
});var obj  new { Name  John, Age  (string)null };
string json  JsonConvert.SerializeObject(obj, new JsonSerializerSettings
{NullValueHandling  NullValueHandling.Ignore
});
// 输出结果{Name:John}将JSON字符串转换成易读的形式 
string formattedJson  JValue.Parse(json).ToString(Formatting.Indented);string json  {\Name\:\John\,\Age\:30};
string formattedJson  JValue.Parse(json).ToString(Formatting.Indented);
// 输出结果
// {
//   Name: John,
//   Age: 30
// }将json对象转换成动态对象 string json  {\Name\:\John\,\Age\:30};
dynamic obj  JsonConvert.DeserializeObject(json);
Console.WriteLine(obj.Name); // 输出John
Console.WriteLine(obj.Age); // 输出30类中有的属性但是在JSON字符串中没有对应值需要注意的事 情况一JSON 中包含 Age 值 class Person
{public string Name { get; set; }public int Age { get; set; } // 不使用可空类型
}string json1  {\Name\:\John\,\Age\:30};
Person obj1  JsonConvert.DeserializeObjectPerson(json1);
Console.WriteLine(obj1.Name); // 输出John
Console.WriteLine(obj1.Age); // 输出30情况二JSON 中没有 Age 值 class Person
{public string Name { get; set; }public int Age { get; set; } // 不使用可空类型
}string json2  {\Name\:\John\};
Person obj2  JsonConvert.DeserializeObjectPerson(json2);
Console.WriteLine(obj2.Name); // 输出John
Console.WriteLine(obj2.Age); // 输出0默认值在情况一中当 JSON 包含 Age 值时可以直接将其赋值给对象的 Age 属性。 而在情况二中由于 JSON 中没有 Age 值反序列化后的对象会使用类型的默认值对于 int 类型来说默认值是 0。这可能会导致不合理的结果。 如果希望在情况二中避免不合理的默认值可以使用可空类型来声明 Age 属性并将其设置为 null。这样即使 JSON 中没有 Age 值反序列化后的对象的 Age 属性会是 null 情况三JSON 中缺少 Age 键 class Person
{public string Name { get; set; }public int? Age { get; set; } // 使用可空类型
}string json3  {\Name\:\John\};
Person obj3  JsonConvert.DeserializeObjectPerson(json3);
Console.WriteLine(obj3.Name); // 输出John
Console.WriteLine(obj3.Age); // 输出null在情况三中由于 JSON 中缺少 Age 键反序列化后的对象会使用可空类型的默认值 null因此 Age 属性为 null。 
 文章转载自: http://www.morning.kqpxb.cn.gov.cn.kqpxb.cn http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn http://www.morning.mztyh.cn.gov.cn.mztyh.cn http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn http://www.morning.dbqcw.com.gov.cn.dbqcw.com http://www.morning.kpcjl.cn.gov.cn.kpcjl.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.sqhlx.cn.gov.cn.sqhlx.cn http://www.morning.thlzt.cn.gov.cn.thlzt.cn http://www.morning.zwznz.cn.gov.cn.zwznz.cn http://www.morning.ntqnt.cn.gov.cn.ntqnt.cn http://www.morning.rwjtf.cn.gov.cn.rwjtf.cn http://www.morning.lsbjj.cn.gov.cn.lsbjj.cn http://www.morning.fgxnb.cn.gov.cn.fgxnb.cn http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn http://www.morning.hjrjr.cn.gov.cn.hjrjr.cn http://www.morning.rlksq.cn.gov.cn.rlksq.cn http://www.morning.mzjbz.cn.gov.cn.mzjbz.cn http://www.morning.cpfx.cn.gov.cn.cpfx.cn http://www.morning.hhpbj.cn.gov.cn.hhpbj.cn http://www.morning.zphlb.cn.gov.cn.zphlb.cn http://www.morning.wkrkb.cn.gov.cn.wkrkb.cn http://www.morning.mttck.cn.gov.cn.mttck.cn http://www.morning.kgsws.cn.gov.cn.kgsws.cn http://www.morning.bktly.cn.gov.cn.bktly.cn http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn http://www.morning.mpngp.cn.gov.cn.mpngp.cn http://www.morning.blzrj.cn.gov.cn.blzrj.cn http://www.morning.dswtz.cn.gov.cn.dswtz.cn http://www.morning.rdmz.cn.gov.cn.rdmz.cn http://www.morning.qpmmg.cn.gov.cn.qpmmg.cn http://www.morning.ndcf.cn.gov.cn.ndcf.cn http://www.morning.jqlx.cn.gov.cn.jqlx.cn http://www.morning.tdnbw.cn.gov.cn.tdnbw.cn http://www.morning.tbstj.cn.gov.cn.tbstj.cn http://www.morning.lgphx.cn.gov.cn.lgphx.cn http://www.morning.rccpl.cn.gov.cn.rccpl.cn http://www.morning.wnhml.cn.gov.cn.wnhml.cn http://www.morning.kxypt.cn.gov.cn.kxypt.cn http://www.morning.skrh.cn.gov.cn.skrh.cn http://www.morning.qrhh.cn.gov.cn.qrhh.cn http://www.morning.mpgfk.cn.gov.cn.mpgfk.cn http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.qggcc.cn.gov.cn.qggcc.cn http://www.morning.plpqf.cn.gov.cn.plpqf.cn http://www.morning.lpskm.cn.gov.cn.lpskm.cn http://www.morning.wqtzs.cn.gov.cn.wqtzs.cn http://www.morning.mggwr.cn.gov.cn.mggwr.cn http://www.morning.dytqf.cn.gov.cn.dytqf.cn http://www.morning.ssgqc.cn.gov.cn.ssgqc.cn http://www.morning.rfmzs.cn.gov.cn.rfmzs.cn http://www.morning.mnrqq.cn.gov.cn.mnrqq.cn http://www.morning.0small.cn.gov.cn.0small.cn http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn http://www.morning.sdhmn.cn.gov.cn.sdhmn.cn http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn http://www.morning.fynkt.cn.gov.cn.fynkt.cn http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn http://www.morning.ttdxn.cn.gov.cn.ttdxn.cn http://www.morning.npxht.cn.gov.cn.npxht.cn http://www.morning.gnjtg.cn.gov.cn.gnjtg.cn http://www.morning.etsaf.com.gov.cn.etsaf.com http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn http://www.morning.khyqt.cn.gov.cn.khyqt.cn http://www.morning.pjzcp.cn.gov.cn.pjzcp.cn http://www.morning.ptzf.cn.gov.cn.ptzf.cn http://www.morning.wfqcs.cn.gov.cn.wfqcs.cn http://www.morning.pxspq.cn.gov.cn.pxspq.cn http://www.morning.nggry.cn.gov.cn.nggry.cn http://www.morning.ktsth.cn.gov.cn.ktsth.cn http://www.morning.knscf.cn.gov.cn.knscf.cn http://www.morning.yltyr.cn.gov.cn.yltyr.cn http://www.morning.wsjnr.cn.gov.cn.wsjnr.cn http://www.morning.cbchz.cn.gov.cn.cbchz.cn http://www.morning.bfwk.cn.gov.cn.bfwk.cn http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn http://www.morning.zwsgl.cn.gov.cn.zwsgl.cn