c# 解析json
时间: 2025-03-19 19:23:40 浏览: 43
### 如何在 C# 中解析 JSON 数据
在 C# 中,可以利用 `System.Text.Json` 或者第三方库如 Newtonsoft.Json 来解析 JSON 数据。以下是两种方法的详细介绍。
#### 使用 System.Text.Json 解析 JSON
自 .NET Core 3.0 起引入了内置的 `System.Text.Json` 命名空间,用于处理 JSON 数据。它提供了高性能和易用性的特性[^4]。
```csharp
using System;
using System.Text.Json;
class Program
{
static void Main()
{
string jsonString = @"{ 'name': 'John', 'age': 30, 'city': 'New York' }";
// 将 JSON 字符串反序列化为匿名对象
var jsonObject = JsonSerializer.Deserialize<JsonElement>(jsonString);
Console.WriteLine($"Name: {jsonObject.GetProperty("name")}");
Console.WriteLine($"Age: {jsonObject.GetProperty("age")}");
Console.WriteLine($"City: {jsonObject.GetProperty("city")}");
}
}
```
上述代码展示了如何通过 `JsonSerializer.Deserialize<T>` 方法将 JSON 字符串转换成可操作的对象,并访问其属性[^4]。
#### 使用 Newtonsoft.Json (Json.NET) 解析 JSON
Newtonsoft.Json 是一个广泛使用的第三方库,支持更复杂的场景以及更高的灵活性[^5]。
首先需要安装 NuGet 包 `Newtonsoft.Json`:
```bash
Install-Package Newtonsoft.Json
```
接着可以通过以下方式解析 JSON 数据:
```csharp
using System;
using Newtonsoft.Json.Linq;
class Program
{
static void Main()
{
string jsonString = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }";
// 创建 JObject 对象并加载 JSON 数据
JObject jsonObject = JObject.Parse(jsonString);
Console.WriteLine($"Name: {jsonObject["name"]}");
Console.WriteLine($"Age: {jsonObject["age"]}");
Console.WriteLine($"City: {jsonObject["city"]}");
}
}
```
此示例说明了如何借助 `JObject.Parse()` 函数读取 JSON 并提取所需的数据项[^5]。
### 总结
无论是使用原生的 `System.Text.Json` 还是功能强大的第三方库 `Newtonsoft.Json`,都可以轻松实现 JSON 的解析工作。具体选择取决于项目需求和技术栈的要求。
阅读全文
相关推荐
















