Newtonsoft.Json简单操作⽤法
Newtonsoft.Json是框架下使⽤率⽐较⾼的操作json的开源⼯具库。
⼀、获取Newtonsoft.Json.dll
可以去以上地址下载和查看开源代码,也可以根据情况在Visual studio⾥使⽤NuGet包管理器获取
typeof的用法NuGet包管理
不论使⽤什么⽅式获取得到都是Newtonsoft.Json.dll这个⽂件将其引⼊项⽬中(这⾥我选⽤了Newtonsoft.Json.10.0.1这个版本)
Newtonsoft.Json.dll
⼆、JSON序列化和JSON反序列化
⽤到⽐较多的功能是JSON序列化和JSON反序列化
项⽬中引⽤using Newtonsoft.Json;
序列化使⽤了JsonConvert.SerializeObject(object, new JsonSerializerSettings()
{ReferenceLoopHandling=ReferenceLoopHandling.Ignore});
反序列化使⽤了JsonConvert.DeserializeObject(jsonString, Type type);
三、简单的测试
新建两个类Test1和Test2
class Test1
{
public string AA { get; set; }
public int BB { get; set; }
public string CC { get; set; }
[JsonIgnore()]//序列化时忽略
public string DD { get; set; }
}
class Test2
{
[JsonProperty(PropertyName ="AA")]//序列化的字段名称
public string A8 { get; set; }
[JsonProperty(PropertyName = "BB")]
public int BV { get; set; }
public string CC { get; set; }
}
开始序列化和反序列化
Test1 ob = newTest1() { AA = "hello", BB = 100, CC = "world", DD ="how are you" };
//序列化
string jsonString= JsonConvert.SerializeObject(ob, newJsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore});
// jsonString结果("{\"AA\":\"hello\",\"BB\":100,\"CC\":\"world\"}")
//反序列化
Test2 dt=JsonConvert.DeserializeObject(jsonString, typeof(Test2))as Test2;
Test1 dt1 =JsonConvert.DeserializeObject(jsonString, typeof(Test1)) as Test1;
结果OK
四、⼩结
根据需要可以把序列化和反序列化操作封装成⼀个统⼀的⽅法⽐较⽅便使⽤,Newtonsoft.Json⾥⾯还有许多设置和属性技巧可以慢慢探索。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论