📌  相关文章
📜  字符串转json c#(1)

📅  最后修改于: 2023-12-03 15:09:22.199000             🧑  作者: Mango

字符串转json C#

在 C# 编程中,常常需要将字符串转换为 JSON 对象来进行处理。JSON 是一种轻量级的数据交换格式,易于阅读和编写。本文将介绍如何在 C# 中将字符串转换为 JSON 对象。

1. 使用 Newtonsoft.Json 库进行转换

Newtonsoft.Json 库是 C# 中最常用的 JSON 库,我们可以使用它来将字符串转换为 JSON 对象。首先需要安装 Newtonsoft.Json 库,可以在 NuGet 包管理器中搜索并安装。

以下示例演示如何将字符串转换为 JSON 对象:

using Newtonsoft.Json;

string jsonString = "{\"name\":\"John Smith\",\"age\":30,\"city\":\"New York\"}";
dynamic jsonObject = JsonConvert.DeserializeObject(jsonString);

在上面的示例中,我们使用 JsonConvert.DeserializeObject 方法将字符串 jsonString 转换为 JSON 对象,并将其存储在 jsonObject 变量中。我们还可以使用 dynamic 类型来遍历 JSON 对象中的属性。

如果需要将 JSON 对象转换为字符串,可以使用 JsonConvert.SerializeObject 方法:

dynamic jsonObject = new { name = "John Smith", age = 30, city = "New York" };
string jsonString = JsonConvert.SerializeObject(jsonObject);

在上面的示例中,我们使用 JsonConvert.SerializeObject 方法将动态对象 jsonObject 转换为字符串 jsonString

2. 使用 System.Text.Json 库进行转换

System.Text.Json 是 C# 8 中新增的 JSON 库,它可以在 .NET Core 应用程序和 .NET Framework 4.7.2 或更高版本中使用。与 Newtonsoft.Json 不同,System.Text.Json 是 .NET 标准库的一部分,不需要安装。

以下示例演示如何使用 System.Text.Json 将字符串转换为 JSON 对象:

using System.Text.Json;

string jsonString = "{\"name\":\"John Smith\",\"age\":30,\"city\":\"New York\"}";
dynamic jsonObject = JsonSerializer.Deserialize<dynamic>(jsonString);

在上面的示例中,我们使用 JsonSerializer.Deserialize 方法将字符串 jsonString 转换为 JSON 对象,并将其存储在 jsonObject 变量中。同样,我们可以使用 dynamic 类型来遍历 JSON 对象中的属性。

如果需要将 JSON 对象转换为字符串,可以使用 JsonSerializer.Serialize 方法:

dynamic jsonObject = new { name = "John Smith", age = 30, city = "New York" };
string jsonString = JsonSerializer.Serialize(jsonObject);

在上面的示例中,我们使用 JsonSerializer.Serialize 方法将动态对象 jsonObject 转换为字符串 jsonString

3. 总结

本文介绍了在 C# 中将字符串转换为 JSON 对象的两种方法:使用 Newtonsoft.Json 库和 System.Text.Json 库。两种方法均易于使用,可以根据自己的需求选择适合的库。