📜  c# 序列化 json - C# (1)

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

C# 序列化 JSON

在C#中,我们经常需要将对象转换为JSON格式的字符串,或者将JSON字符串转换为对象。这个过程被称为JSON序列化和反序列化。

JSON序列化

JSON序列化是将C#对象转换为JSON格式的字符串的过程。C#提供了几种方法来实现JSON序列化,其中最常用的是使用System.Text.JsonNewtonsoft.Json库。

使用System.Text.Json库

System.Text.Json是从.NET Core 3.0开始引入的官方JSON库,它提供了一种简单的方式来进行JSON序列化。

以下是一个使用System.Text.Json库进行JSON序列化的示例:

Person person = new Person { Name = "John", Age = 30 };
string json = JsonSerializer.Serialize(person);

上面的代码将Person对象转换为JSON格式的字符串。

使用Newtonsoft.Json库

Newtonsoft.Json(也称为Json.NET)是一个流行的第三方库,提供了更多高级功能和灵活性。

以下是一个使用Newtonsoft.Json库进行JSON序列化的示例:

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

上面的代码将Person对象转换为JSON格式的字符串。

JSON反序列化

JSON反序列化是将JSON格式的字符串转换为C#对象的过程。同样,我们可以使用System.Text.JsonNewtonsoft.Json库来实现JSON反序列化。

使用System.Text.Json库

以下是一个使用System.Text.Json库进行JSON反序列化的示例:

string json = "{\"Name\":\"John\",\"Age\":30}";
Person person = JsonSerializer.Deserialize<Person>(json);

上面的代码将JSON格式的字符串转换为Person对象。

使用Newtonsoft.Json库

以下是一个使用Newtonsoft.Json库进行JSON反序列化的示例:

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

上面的代码将JSON格式的字符串转换为Person对象。

注意事项
  • 使用System.Text.Json库需要确保你的.NET版本高于等于3.0。
  • 使用Newtonsoft.Json库需要先安装Newtonsoft.Json NuGet包。

希望这个简短的介绍对你理解C#中JSON序列化的基本概念和用法有所帮助。