Newtonsoft.Json 用于 C# (.NET):完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Newtonsoft.Json,为什么需要它?



Newtonsoft.Json(通常简称为 Json.NET)是 .NET 生态系统中用于处理 JSON 格式最流行且最强大的库。它为 C# 开发人员提供了高性能且灵活的工具,用于序列化(将 C# 对象转换为 JSON 字符串)和反序列化(将 JSON 字符串转换回 C# 对象)。



为什么需要它?JSON(JavaScript 对象表示法)已成为 Web 服务器与客户端之间数据交换、配置文件、API 以及数据库(例如 NoSQL)的事实标准。Newtonsoft.Json 允许您:

  • 轻松与任何 REST API 集成 — 以 JSON 格式发送和接收数据。
  • 处理配置 — 读取和写入 JSON 设置文件。
  • 管理复杂结构 — 支持嵌套对象、数组、字典和动态类型。
  • 自定义序列化过程 — 通过属性和设置(契约、属性忽略、日期格式化等)。


安装 Newtonsoft.Json



与 Python(使用 pip install)或 Node.js(npm install)不同,在 .NET 生态系统中使用 NuGet 包管理器。可以通过以下几种方式安装该库:



方法 1:通过包管理器控制台(Visual Studio)

打开 工具 → NuGet 包管理器 → 包管理器控制台 并执行命令:

Install-Package Newtonsoft.Json


方法 2:通过 .NET CLI(跨平台)

如果您使用 .NET Core / .NET 5+ 并从终端操作,请执行:

dotnet add package Newtonsoft.Json


方法 3:通过 Visual Studio 界面

右键单击项目 → “管理 NuGet 包” → 在“浏览”选项卡中找到 Newtonsoft.Json 并单击“安装”。



安装后,在代码文件开头添加指令 using Newtonsoft.Json;。



快速入门:代码示例



让我们通过一个简单示例立即了解该库的工作原理。假设我们有一个 Person 类:



using System;using Newtonsoft.Json;

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

class Program{ static void Main() { // 1. 创建对象 var person = new Person { Name = "安娜", Age = 30, Email = "anna@example.com" };

// 2. 序列化:对象 -> JSON string json = JsonConvert.SerializeObject(person, Formatting.Indented); Console.WriteLine("序列化后的 JSON:"); Console.WriteLine(json);

// 3. 反序列化:JSON -> 对象 string jsonInput = @"{'Name':'伊万','Age':25,'Email':'ivan@example.com'}"; Person deserializedPerson = JsonConvert.DeserializeObject<Person>(jsonInput); Console.WriteLine($"反序列化后的对象: {deserializedPerson.Name}, {deserializedPerson.Age}"); }}


输出:

序列化后的 JSON:{  "Name": "安娜",  "Age": 30,  "Email": "anna@example.com"}

反序列化后的对象: 伊万, 25


Newtonsoft.Json 的主要方法和函数



以下是该库的 10 个关键方法/函数,包含详细说明和示例。



1. JsonConvert.SerializeObject()

功能: 将 .NET 对象转换为 JSON 字符串。

参数:

  • value (object) — 要序列化的对象。
  • formatting (Nullable<Form

推荐