📅  最后修改于: 2023-12-03 15:09:22.199000             🧑  作者: Mango
在 C# 编程中,常常需要将字符串转换为 JSON 对象来进行处理。JSON 是一种轻量级的数据交换格式,易于阅读和编写。本文将介绍如何在 C# 中将字符串转换为 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
。
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
。
本文介绍了在 C# 中将字符串转换为 JSON 对象的两种方法:使用 Newtonsoft.Json 库和 System.Text.Json 库。两种方法均易于使用,可以根据自己的需求选择适合的库。