答案是使用 System.Text.Json 或 Newtonsoft.Json 将 JSON 字符串反序列化为 C# 对象。首先定义属性匹配的类,然后调用 JsonSerializer.Deserialize 或 JsonConvert.DeserializeObject 方法解析字符串,支持嵌套结构与自定义字段映射,推荐 .NET 6+ 项目优先使用 System.Text.Json 以获得更好性能。
在C#中,将JSON字符串转换为对象的过程称为反序列化。最常用的方式是使用 System.Text.Json(.NET Core 3.0+ 默认推荐)或第三方库如 Newtonsoft.Json(又称 Json.NET)。以下是两种主流方法的详细说明。
System.Text.Json 是 .NET 内置的高性能 JSON 操作库,适用于大多数现代 C# 项目。
示例代码:using System; using System.Text.Json;注意:// 定义目标类 public class Person { public string Name { get; set; } public int Age { get; set; } }
// JSON 字符串 string jsonString = @"{""Name"": ""张三"", ""Age"": 30}";
// 反序列化 Person person = JsonSerializer.Deserialize
(jsonString); Console.WriteLine(person.Name); // 输出:张三 Console.WriteLine(person.Age); // 输出:30
Newtonsoft.Json 功能更灵活,支持老版本 .NET Framework,广泛用于现有项目。
安装 NuGet 包:Install-Package Newtonsoft.Json
示例代码:using Newtonsoft.Json;特性支持:string jsonString = @"{""Name"": ""李四"", ""Age"": 25}";
Person person = JsonConvert.DeserializeObject
(jsonString); Console.WriteLine(person.Name); // 输出:李
四
无论是 System.Text.Json 还是 Newtonsoft.Json,都可以自动处理嵌套结构。
public class Address
{
public string City { get; set; }
public string Street { get; set; }
}
public class Person
{
public string Name { get; set; }
public Address HomeAddress { get; set; }
}
string json = @"{
""Name"": ""王五"",
""HomeAddress"": {
""City"": ""北京"",
""Street"": ""朝阳路123号""
}
}";
Person p = JsonSerializer.Deserialize(json);
Console.WriteLine(p.HomeAddress.City); // 输出:北京
基本上就这些。根据项目环境选择合适的库即可完成 JSON 到对象的转换。
# js
# json
# 常见问题
# c#
# .net
# 数据类型
# NULL
# 字符串
# public
# 对象
# 序列化
# 自定义
# 北京
# 字段名
# 两种
# 适用于
# 详细说明
# 不存在
# 报错
# 第三方
相关文章:
C++时间戳转换成日期时间的步骤和示例代码
临沂网站制作公司有哪些,临沂第四中学官网?
如何在IIS中配置站点IP、端口及主机头?
宿州网站制作公司兴策,安徽省低保查询网站?
高防服务器如何保障网站安全无虞?
独立制作一个网站多少钱,建立网站需要花多少钱?
如何通过网站建站时间优化SEO与用户体验?
如何快速搭建高效WAP手机网站吸引移动用户?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
,南京靠谱的征婚网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
建站主机默认首页配置指南:核心功能与访问路径优化
开源网站制作软件,开源网站什么意思?
建站之星各版本价格是多少?
如何在IIS7上新建站点并设置安全权限?
音响网站制作视频教程,隆霸音响官方网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
微信h5制作网站有哪些,免费微信H5页面制作工具?
C#怎么使用委托和事件 C# delegate与event编程方法
建站主机无法访问?如何排查域名与服务器问题
如何在IIS服务器上快速部署高效网站?
如何基于PHP生成高效IDC网络公司建站源码?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
七夕网站制作视频,七夕大促活动怎么报名?
如何快速打造个性化非模板自助建站?
如何通过多用户协作模板快速搭建高效企业网站?
建站VPS配置与SEO优化指南:关键词排名提升策略
建站主机服务器选型指南与性能优化方案解析
装修招标网站设计制作流程,装修招标流程?
如何彻底卸载建站之星软件?
ui设计制作网站有哪些,手机UI设计网址吗?
建站之星后台密码遗忘或太弱?如何重置与强化?
如何通过虚拟主机空间快速建站?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
建站10G流量真的够用吗?如何应对访问高峰?
网站制作网站,深圳做网站哪家比较好?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
北京网站制作的公司有哪些,北京白云观官方网站?
文字头像制作网站推荐软件,醒图能自动配文字吗?
广平建站公司哪家专业可靠?如何选择?
太原网站制作公司有哪些,网约车营运证查询官网?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
平台云上自助建站如何快速打造专业网站?
如何快速生成高效建站系统源代码?
代刷网站制作软件,别人代刷火车票靠谱吗?
自助网站制作软件,个人如何自助建网站?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
,有什么在线背英语单词效率比较高的网站?
如何在云服务器上快速搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。