📌  相关文章
📜  c# 对象到 json 字符串 - C# (1)

📅  最后修改于: 2023-12-03 14:59:42.228000             🧑  作者: Mango

C# 对象到 JSON 字符串 - C#

在 C# 中,将对象转换为 JSON 字符串是一项常见任务。JSON 是一种轻量级数据格式,易于阅读和编写。通常使用 JSON 在应用程序之间传递数据。

在本文中,我们将介绍如何将 C# 对象序列化为 JSON 字符串。我们将涵盖以下主题:

  • 引入 Newtonsoft.Json 库
  • 创建可序列化的 C# 类
  • 将 C# 对象序列化为 JSON 字符串
  • 将 JSON 字符串反序列化为 C# 对象
引入 Newtonsoft.Json 库

在 C# 中,有多个库可用于将对象序列化为 JSON 字符串。其中最常用的是 Newtonsoft.Json 库,也称为 Json.NET。它是一个功能强大的 JSON 序列化和反序列化库。

要使用 Newtonsoft.Json 库,请按照以下步骤操作:

  • 在 Visual Studio 中,打开你的项目。
  • 右键单击“解决方案资源管理器”选项卡,并选择“管理 NuGet 包”。
  • 在“NuGet 包管理器”窗口中,搜索“ Newtonsoft.Json”。
  • 选择“Newtonsoft.Json”包,并单击“安装”。

在安装了 Newtonsoft.Json 包之后,在代码中添加以下行:

using Newtonsoft.Json;

这将引入所有 Newtonsoft.Json 库中的类和方法,以便在代码中使用。

创建可序列化的 C# 类

在将 C# 对象序列化为 JSON 字符串之前,我们需要创建一个可序列化的 C# 类。

可序列化的类是指具有一组用于将类中数据序列化为 JSON 格式的属性或字段。

假设我们要将以下类​​序列化为 JSON 字符串:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

我们可以看到,该类具有两个属性:Name 和 Age。我们将使用这些属性来序列化 Person 类。

将 C# 对象序列化为 JSON 字符串

将 C# 对象序列化为 JSON 字符串需要使用 Newtonsoft.Json 库中的 JsonConvert.SerializeObject 方法。

以下是示例代码:

Person person = new Person
{
    Name = "John Doe",
    Age = 30
};
string json = JsonConvert.SerializeObject(person);
Console.WriteLine(json); // {"Name":"John Doe","Age":30}

这段代码使用 JsonConvert.SerializeObject 方法将 person 对象转换为 JSON 格式。输出的 JSON 字符串如下:

{
    "Name": "John Doe",
    "Age": 30
}
将 JSON 字符串反序列化为 C# 对象

将 JSON 字符串反序列化为 C# 对象需要使用 Newtonsoft.Json 库中的 JsonConvert.DeserializeObject 方法。

以下是示例代码:

string json = "{\"Name\":\"John Doe\",\"Age\":30}";
Person person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine(person.Name); // John Doe
Console.WriteLine(person.Age); // 30

这段代码使用 JsonConvert.DeserializeObject 方法将 JSON 字符串转换为 Person 类型的实例。输出的结果如下:

John Doe
30
总结

现在我们已经了解了如何将 C# 对象序列化为 JSON 字符串。我们引入了 Newtonsoft.Json 库,创建了一个可序列化的 C# 类,并将其序列化为 JSON 字符串。

此外,我们还讨论了如何将 JSON 字符串反序列化为 C# 对象,以便在应用程序之间传递数据。

使用 Newtonsoft.Json 库,将 C# 对象转换为 JSON 字符串变得非常容易和快捷。