如何使用 C# 解析 JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于 Web 应用和 API。使用 C# 解析 JSON 非常简单,可以通过以下步骤实现:
1. 安装 JSON.NET
C# 中没有内置的 JSON 解析器,因此我们需要安装一个第三方库。推荐使用 Newtonsoft.Json 库,可以在 NuGet 包管理器中安装它:
<code>Install-Package Newtonsoft.Json</code>
2. 使用 JsonConvert 类
JsonConvert 类提供了各种方法来解析 JSON 数据。最常用的方法是 DeserializeObject
<code class="csharp">using Newtonsoft.Json;
string json = @"{ ""name"": ""John Doe"", ""age"": 30 }";
var person = JsonConvert.DeserializeObject<Person>(json);</code>其中,Person 是一个定义了 name 和 age 属性的类:
<code class="csharp">public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}</code>3. 反序列化动态对象
有时,我们不知道 JSON 数据的具体结构。这时,我们可以使用 DeserializeObject
<code class="csharp">dynamic data = JsonConvert.DeserializeObject<object>(json); Console.WriteLine(data.name); // 输出 "John Doe" Console.WriteLine(data.age); // 输出 30</code>
4. 序列化对象
除了反序列化 JSON 数据外,JsonConvert 类还允许我们序列化对象为 JSON 字符串:
<code class="csharp">string json = JsonConvert.SerializeObject(person);</code>
其他有用的方法
JsonConvert.Parse: 解析 JSON 字符串并将其转换为空白对象。 JsonConvert.ToString: 将对象转换为 JSON 字符串。 JsonConvert.DeserializeXmlNode: 将 JSON 数据反序列化为 XML 节点。 JsonConvert.SerializeXmlNode: 将 XML 节点序列化为 JSON 数据。