当前位置:首页 > C# > 正文

C#序列化入门指南(Newtonsoft.Json基础用法详解)

在C#开发中,将对象转换为JSON格式(即序列化)以及将JSON字符串还原为对象(即反序列化)是非常常见的需求。而 Newtonsoft.Json(也称为 Json.NET)是 .NET 平台上最流行、功能最强大的 JSON 处理库之一。

C#序列化入门指南(Newtonsoft.Json基础用法详解) Newtonsoft.Json序列化 C# JSON序列化 JsonConvert用法 C#对象转JSON 第1张

一、安装 Newtonsoft.Json

首先,你需要通过 NuGet 包管理器安装 Newtonsoft.Json。在 Visual Studio 中,右键点击你的项目 → “管理 NuGet 程序包” → 搜索 Newtonsoft.Json → 点击“安装”。

或者使用 Package Manager Console 执行以下命令:

Install-Package Newtonsoft.Json  

二、定义一个测试类

为了演示 C# JSON序列化 和反序列化,我们先定义一个简单的 Person 类:

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

三、使用 JsonConvert 进行序列化

JsonConvert.SerializeObject 是 Newtonsoft.Json 提供的核心方法之一,用于将 C# 对象转换为 JSON 字符串。这就是我们常说的 Newtonsoft.Json序列化

using Newtonsoft.Json;var person = new Person{    Name = "张三",    Age = 28,    Email = "zhangsan@example.com"};string json = JsonConvert.SerializeObject(person);Console.WriteLine(json);// 输出:{"Name":"张三","Age":28,"Email":"zhangsan@example.com"}  

四、反序列化:从 JSON 字符串还原对象

当你有一个 JSON 字符串,想把它变回 C# 对象,可以使用 JsonConvert.DeserializeObject<T> 方法。这是 C#对象转JSON 的逆过程。

string json = "{\"Name\":\"李四\",\"Age\":32,\"Email\":\"lisi@example.com\"}";Person person = JsonConvert.DeserializeObject<Person>(json);Console.WriteLine($"姓名:{person.Name}, 年龄:{person.Age}");// 输出:姓名:李四, 年龄:32  

五、常用配置选项

Newtonsoft.Json 提供了丰富的配置选项。例如,如果你希望输出的 JSON 更美观(带缩进),可以使用 Formatting.Indented

string prettyJson = JsonConvert.SerializeObject(person, Formatting.Indented);Console.WriteLine(prettyJson);/* 输出:{  "Name": "张三",  "Age": 28,  "Email": "zhangsan@example.com"}*/  

六、总结

通过本文,你已经掌握了 Newtonsoft.Json序列化 的基本用法,包括如何使用 JsonConvert 将 C# 对象转换为 JSON 字符串,以及如何将 JSON 字符串还原为对象。这些是日常开发中处理 API 数据、配置文件或缓存时的必备技能。

记住四个核心关键词:Newtonsoft.Json序列化C# JSON序列化JsonConvert用法C#对象转JSON。掌握它们,你就迈出了高效处理 JSON 数据的第一步!