一、序列化:把对象转化为可传输的字节序列(字符串)过程称为序列化。
反序列化:把字节序列(字符串)转换为对象的过程称为反序列化。
目的(作用):传输数据。
二、使用Newtonsoft.Json库(也称为Json.NET)进行序列化和反序列化操作。首先需要安装该库,可以通过NuGet包管理器或者手动下载并添加引用来完成。然后按照以下示例代码进行转换:
using Newtonsoft.Json; // 导入命名空间
// JSON字符串
string json = “{“name”:“John”, “age”:30}”;
// 定义目标对象类型
public class Person { public string Name { get; set; } public int Age { get; set; }}
// 将JSON字符串转换为对象
Person person = JsonConvert.DeserializeObject(json);
// 将对象转换为JSON字符串
string str = JsonConvert.SerializeObject(对象名);
Console.WriteLine(person.Name); // 输出 John
Console.WriteLine(person.Age); // 输出 30
三、使用内置的System.Text.Json库进行序列化和反序列化操作。这是从.NET Core 3.0开始提供的新功能,无需额外安装任何库。按照以下示例代码进行转换:
using System.Text.Json; // 导入命名空间
// JSON字符串
string json = “{“name”:“John”, “age”:30}”;
// 定义目标对象类型
public class Person { public string Name { get; set; } public int Age { get; set; }}
// 将JSON字符串转换为对象
var options = new JsonSerializerOptions();
options.PropertyNameCaseInsensitive = true; // 设置属性不区分大小写
Person person = JsonSerializer.Deserialize(json, options);
Console.WriteLine(person.Name); // 输出 John
Console.WriteLine(person.Age); // 输出 30