参考资料

  1. c语言编程常用代码大全
  2. c语言代码合集
  3. C#代码格式化工具有哪些
  4. c语言一些简单的代码
  5. c语言基础知识入门书籍推荐
  6. c语言代码最简单
  7. c语言必背入门代码
  8. c语言简单编程代码入门

Newtonsoft.Json库简介功能:

  1. JSON与.NET对象相互转换

  2. LINQ to JSON查询

  3. 高性能JSON读写

  4. 支持XML与JSON互转

  5. 支持BSON格式

核心类及功能:

  • JsonConvert:静态工具类,提供主要序列化方法

  • JsonSerializer:可配置的序列化器实例

  • JsonReader/JsonWriter:底层读写器

  • JObject/JArray:LINQ可查询的JSON对象

主要属性参数说明:

  1. JsonSerializerSettings配置:

    • Formatting:缩进格式(None/Indented)

    • NullValueHandling:空值处理方式

    • DefaultValueHandling:默认值处理方式

    • ReferenceLoopHandling:循环引用处理

    • ContractResolver:自定义契约解析器

  2. JsonConvert方法参数:

    • TypeNameHandling:类型信息处理

    • PreserveReferencesHandling:对象引用保留

基本使用方法:

  1. 序列化对象:

string json = JsonConvert.SerializeObject(obj);
  1. 反序列化:

var obj = JsonConvert.DeserializeObject<T>(json);
  1. 使用配置:

var settings = new JsonSerializerSettings {
    Formatting = Formatting.Indented,
    NullValueHandling = NullValueHandling.Ignore
};
string json = JsonConvert.SerializeObject(obj, settings);
  1. LINQ to JSON:

JObject jObj = JObject.Parse(json);
string name = (string)jObj["name"];

安装方法:
通过NuGet包管理器安装:

Install-Package Newtonsoft.Json

示例解析:

  1. 基础序列化:

public class Person {
    public string Name { get; set; }
    public int Age { get; set; }
}

var person = new Person { Name = "John", Age = 30 };
string json = JsonConvert.SerializeObject(person);
// 输出:{"Name":"John","Age":30}
  1. 复杂对象处理:

var settings = new JsonSerializerSettings {
    Formatting = Formatting.Indented,
    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};

var obj = new { 
    Date = DateTime.Now,
    Items = new List<string> { "item1", "item2" }
};
string json = JsonConvert.SerializeObject(obj, settings);
  1. 动态对象处理:

dynamic obj = new JObject();
obj.Name = "John";
obj.Age = 30;
string json = obj.ToString();