C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#中JSON字符串类型与对象类型相互转换

C#中JSON字符串类型与对象类型相互转换实现方式

作者:qq_38151300

这篇文章主要介绍了C#中JSON字符串类型与对象类型相互转换实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、序列化

把对象转化为可传输的字节序列(字符串)过程称为序列化。

二、使用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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文