Newtonsoft.Json 是一个非常流行的 C# JSON 序列化和反序列化库,它可以方便地将 C# 对象转换为 JSON 格式,或者将 JSON 数据解析为 C# 对象。Newtonsoft.Json 被广泛用于处理 JSON 数据,因其简单、高效且功能强大。
以下是 Newtonsoft.Json 在 C# 中的详细使用教程。
安装 Newtonsoft.Json
在使用 Newtonsoft.Json 之前,你需要安装它。最简单的方式是通过 NuGet:
- 打开 Visual Studio。
- 在解决方案资源管理器中右键点击项目,然后选择“管理 NuGet 包”。
- 搜索
Newtonsoft.Json,然后点击“安装”。
也可以使用以下命令通过 NuGet 控制台安装:
Install-Package Newtonsoft.Json
基本用法
1. 序列化 C# 对象为 JSON
要将 C# 对象转换为 JSON 字符串,可以使用 JsonConvert.SerializeObject() 方法。
using Newtonsoft.Json;
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);
Console.WriteLine(json);
输出:
{
"Name":"John","Age":30}
2. 反序列化 JSON 为 C# 对象
要将 JSON 字符串转换为 C# 对象,可以使用 JsonConvert.DeserializeObject<T>() 方法。
string json = "{\"Name\":\"John\",\"Age\":30}";
Person person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine(person.Name); // 输出:John
Console.WriteLine(person.Age); // 输出:30
高级用法
1. 序列化时格式化 JSON(缩进)
为了提高可读性,可以使用 Formatting.Indented 选项将 JSON 格式化为缩进的样式:
string formattedJson = JsonConvert.SerializeObject(person, Formatting.Indented);
Console.WriteLine(formattedJson);
输出:
{
"Name": "John",
"Age": 30
}
2. 处理复杂对象
Newtonsoft