📅  最后修改于: 2023-12-03 14:59:42.228000             🧑  作者: Mango
C# 对象到 JSON 字符串 - C#
在 C# 中,将对象转换为 JSON 字符串是一项常见任务。JSON 是一种轻量级数据格式,易于阅读和编写。通常使用 JSON 在应用程序之间传递数据。
在本文中,我们将介绍如何将 C# 对象序列化为 JSON 字符串。我们将涵盖以下主题:
在 C# 中,有多个库可用于将对象序列化为 JSON 字符串。其中最常用的是 Newtonsoft.Json 库,也称为 Json.NET。它是一个功能强大的 JSON 序列化和反序列化库。
要使用 Newtonsoft.Json 库,请按照以下步骤操作:
在安装了 Newtonsoft.Json 包之后,在代码中添加以下行:
using Newtonsoft.Json;
这将引入所有 Newtonsoft.Json 库中的类和方法,以便在代码中使用。
在将 C# 对象序列化为 JSON 字符串之前,我们需要创建一个可序列化的 C# 类。
可序列化的类是指具有一组用于将类中数据序列化为 JSON 格式的属性或字段。
假设我们要将以下类序列化为 JSON 字符串:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
我们可以看到,该类具有两个属性:Name 和 Age。我们将使用这些属性来序列化 Person 类。
将 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# 对象需要使用 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 字符串变得非常容易和快捷。