Newtonsoft.Json 简单操作用法

 Newtonsoft.Json是.net框架下使用率比较高的操作json的开源工具库。

一、获取Newtonsoft.Json.dll

下载地址:https://github.com/JamesNK/Newtonsoft.Json/releases

Code source:https://github.com/JamesNK/Newtonsoft.Json

可以去以上地址下载和查看开源代码,也可以根据情况在Visual studio里使用NuGet包管理器获取


Newtonsoft.Json 简单操作用法_第1张图片
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里面还有许多设置和属性技巧可以慢慢探索。

你可能感兴趣的:(Newtonsoft.Json 简单操作用法)