JSON(JavaScript Object Notation)是目前最常用的数据交换格式,广泛应用于 web 开发、API 交互以及前后端数据传输。C# 中有多种方式处理 JSON 数据,最常用的是通过 Newtonsoft.Json
(又称 Json.NET)和 System.Text.Json 库。
本文将深入介绍如何在 C# 中使用 JSON,包括如何解析 JSON 数据、生成 JSON 数据、处理复杂的 JSON 结构,并介绍 C# 中的相关库。
1. JSON 解析与生成
1.1 使用 Newtonsoft.Json 解析 JSON
Newtonsoft.Json
是一个非常流行的开源 JSON 库,提供了简洁的 API 来序列化和反序列化 JSON 数据。可以通过 NuGet 包管理器安装。
安装:
Install-Package Newtonsoft.Json
解析 JSON 字符串为对象
using Newtonsoft.Json;using System;public class Program{ public class Person { public string Name { get; set; } public int Age { get; set; } } public static void Main() { string jsonString = "{\"Name\":\"John\",\"Age\":30}"; // 反序列化 JSON 字符串为 Person 对象 Person person = JsonConvert.DeserializeObject<Person>(jsonString); Console.WriteLine($"Name: {person.Name}, Age: {person.Age}"); }}
输出:
Name: John, Age: 30
解析 JSON 数组
string jsonArray = "[{\"Name\":\"John\",\"Age\":30}, {\"Name\":\"Jane\",\"Age\":25}]";var people = JsonConvert.DeserializeObject<List<Person>>(jsonArray);foreach (var person in people){ Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");}
1.2 使用 System.Text.Json 解析 JSON
System.Text.Json
是 .NET Core 3.0 及更高版本自带的 JSON 处理库,