在现代 C# 开发中,JSON(JavaScript Object Notation)已成为数据交换和配置存储的事实标准。无论是与前端 API 交互、读写配置文件,还是进行服务间通信,熟练处理 JSON 都是一项必备技能。
本文将全面覆盖 C# 中 JSON 处理的核心知识,重点讲解两个主流库的使用:Newtonsoft.Json(Json.NET)和 .NET Core 3.0+ 内置的 System.Text.Json。我将从基础概念讲起,逐步深入到高级场景,并提供实用的最佳实践和问题排查方案。
一、JSON 数据格式详解
1. JSON 的基本结构
JSON 数据格式主要有两种核心结构:
- 对象(Object):一个无序的键 / 值对集合,以
{开始,}结束。每个键后跟:,键 / 值对之间用,分隔。 - 数组(Array):一个有序的值集合,以
[开始,]结束,值之间用,分隔。
2. JSON 的数据类型
JSON 支持以下数据类型:
- 字符串(String):双引号包围的 Unicode 字符序列(如
"name": "张三")。 - 数字(Number):整数、浮点数(正数、负数、零,如
"age": 30)。 - 布尔值(Boolean):
true或false(如"isStudent": false)。 - null:表示空值(如
"score": null)。 - 对象(Object):嵌套的键 / 值对集合(如
"address": { "city": "北京" })。 - 数组(Array):有序的值列表(如
"hobbies": ["篮球", "编程"])。
3. JSON 示例
{
"name": "张三",
"age": 30,
"isStudent": false,
"hobbies": ["篮球", "足球", "阅读"],
"address": {
"street": "123 Main Street",
"city": "北京",
"country": "中国"
},
"score": null
}
二、核心依赖库选择与准备
在 C# 中处理 JSON,你主要有两个选择:
Newtonsoft.Json(Json.NET):功能强大、生态成熟、兼容性好,是 .NET Framework 和早期 .NET Core 项目的首选。System.Text.Json:.NET Core 3.0+ /.NET 5+ 内置的高性能库,无需额外依赖,是新项目的推荐选择。
安装依赖
-
对于
Newtonsoft.Json:在 Visual Studio 中,右键点击项目 -> 管理 NuGet 程序包 -> 搜索Newtonsoft.Json-> 安装最新稳定版。或使用 Package Manager Console:
Install-Package Newtonsoft.Json
-
对于
System.Text.Json:它已内置在 .NET Core 3.0, .NET 5, .NET 6, .NET 7, .NET 8 等框架中,无需安装任何额外包。只需在代码中引用System.Text.Json命名空间即可。
三、基础概念:JSON 与 C# 对象的映射关系
JSON 的数据结构与 C# 的数据类型可以天然地对应起来,这是序列化和反序列化的基础。
| JSON 数据类型 | C# 对应数据类型 (示例) |
|---|---|
| 对象 (Object) | class, struct |
| 数组 (Array) | List<T>, T[] |
| 字符串 (String) | string |
| 数字 (Number)< |
C# JSON操作全攻略

最低0.47元/天 解锁文章
411

被折叠的 条评论
为什么被折叠?



