System.Text.Json是.NET Core 3.0+内置的高性能JSON库,用于C#对象与JSON字符串的相互转换。使用JsonSerializer.Serialize和Deserialize方法实现序列化与反序列化,支持通过JsonSerializerOptions配置命名策略、缩进、大小写敏感等选项,并可通过[JsonPropertyName]和[JsonIgnore]特性处理字段映射与忽略,适用于大多数现代C#开发场景。
JSON序列化是将C#对象转换为JSON字符串的过程,反序列化则是将JSON字符串还原为C#对象。在现代C#开发中,System.Text.Json 是官方推荐的高性能JSON处理库,从.NET Core 3.0开始内置,无需额外安装包(除非使用较新功能)。
使用 JsonSerializer.Serialize 和 JsonSerializer.Deserialize 方法即可完成转换。
示例:
using System;
using System.Text.Json;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
// 序列化
var person = new Person { Name = "张三", Age = 25 };
string json = JsonSerializer.Serialize(person);
Console.WriteLine(json); // 输出: {"Name":"张三","Age":25}
// 反序列化
string inputJson = "{\"Name\":\"李四\",\"Age\":30}";
Person deserializedPerson = JsonSerializer.Deserialize(inputJson);
Console.WriteLine(deserializedPerson.Name); // 输出: 李四
可以通过 JsonSerializerOptions 控制序列化行为,比如属性命名策略、缩进格式、日期处理等。
常见设置:
示例:
var options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
WriteIndented = true
};
string json = JsonSerializer.Serialize(person, options);
var readOptions = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
};
Person result = JsonSerializer.Deserialize(inputJson, readOptions);
对于字段名不匹配或需要忽略的属性,可以使用特性(Attribute)进行标记。
示例:
public class Product
{
[JsonPropertyName("product_id")]
public string Id { get; set; }
[JsonIgnore]
public decimal Cost { get; set; }
public string Name { get; set; }
}
这样序列化时,Id会变成"product_id",Cost则不会出现在JSON中。
基本上就这些。System.Text.Json 使用简单、性能好,适合大多数场景。注意类必须有公共属性和构造函数才能正确序列化。
# js
# json
# c#
# json处理
# c#开发
# cos
# .net
# 构造函数
# 字符串
# Attribute
# 对象
# 序列化
# 高性能
# 化与
# 李四
# 字段名
# 则是
# 出现在
# 适用于
# 可以通过
# 可以使用
相关文章:
如何快速重置建站主机并恢复默认配置?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
家庭建站与云服务器建站,如何选择更优?
如何在建站宝盒中设置产品搜索功能?
南宁网站建设制作定制,南宁网站建设可以定制吗?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
建站之星导航如何优化提升用户体验?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
Android自定义控件实现温度旋转按钮效果
如何在IIS管理器中快速创建并配置网站?
建站VPS配置与SEO优化指南:关键词排名提升策略
,制作一个手机app网站要多少钱?
如何通过wdcp面板快速创建网站?
如何快速生成ASP一键建站模板并优化安全性?
如何选择靠谱的建站公司加盟品牌?
如何通过建站之星自助学习解决操作问题?
如何在企业微信快速生成手机电脑官网?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
宝塔建站无法访问?如何排查配置与端口问题?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
香港服务器租用每月最低只需15元?
Swift中switch语句区间和元组模式匹配
如何通过FTP服务器快速搭建网站?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
网站制作公司排行榜,抖音怎样做个人官方网站
零基础网站服务器架设实战:轻量应用与域名解析配置指南
制作网站怎么制作,*游戏网站怎么搭建?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
代刷网站制作软件,别人代刷火车票靠谱吗?
如何快速生成高效建站系统源代码?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
建站主机空间推荐 高性价比配置与快速部署方案解析
如何在Windows 2008云服务器安全搭建网站?
,怎么用自己头像做动态表情包?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
如何选择适合PHP云建站的开源框架?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
如何批量查询域名的建站时间记录?
如何用5美元大硬盘VPS安全高效搭建个人网站?
网站网页制作专业公司,怎样制作自己的网页?
制作电商网页,电商供应链怎么做?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何用景安虚拟主机手机版绑定域名建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。