当前位置: 首页 > news >正文

外贸建站的公司京东网站注册

外贸建站的公司,京东网站注册,apt-get install wordpress,网站改版多久恢复net9.0 中System.Text.Json 测试惊喜的发现当前版本循环引用序列化未报错,并且能正常序列化成功,故做此记录。测试结果仅做参考!!! 配置选项 # 配置说明JsonSerializerOptions jsonSerializerOptions new JsonSerial…
net9.0 中System.Text.Json 测试惊喜的发现当前版本循环引用序列化未报错,并且能正常序列化成功,故做此记录。测试结果仅做参考!!!
配置选项
     # 配置说明JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions{PropertyNameCaseInsensitive = true, // 属性名称大小写不敏感PropertyNamingPolicy = JsonNamingPolicy.CamelCase, // 属性名称使用驼峰命名规则WriteIndented = true, // 设置格式化输出Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, // 允许特殊字符ReadCommentHandling = JsonCommentHandling.Skip, // 忽略注释AllowTrailingCommas = true, // 忽略尾随逗号NumberHandling = JsonNumberHandling.AllowReadingFromString, // 允许数字字符串Converters = { new DatetimeJsonConverter() } // 注册你的自定义转换器, };
DatetimeJsonConverter 自定义解析
/// <summary>
/// 时间字符串格式化
/// </summary>
public class DatetimeJsonConverter : JsonConverter<DateTime>
{public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options){if (reader.TokenType == JsonTokenType.String){if (DateTime.TryParse(reader.GetString(), out DateTime date))return date;}return reader.GetDateTime();}public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options){writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));}
}/// <summary>
/// Unix格式时间格式化
/// </summary>
public class UnixTimeConverter : JsonConverter<DateTime>
{public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options){if (reader.TokenType == JsonTokenType.String){if (long.TryParse(reader.GetString(), out long timestamp))return DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;}if (reader.TokenType == JsonTokenType.Number){long timestamp = reader.GetInt64();return DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;}return reader.GetDateTime();}public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options){long timestamp = new DateTimeOffset(value).ToUnixTimeSeconds();writer.WriteStringValue(timestamp.ToString());}
}
测试
 public class TestJson{/// <summary>/// 名称/// </summary>public string? Name { get; set; }public TestBaseJson TestBaseJson { get; set;}}//[JsonPolymorphic(TypeDiscriminatorPropertyName = "TestBaseJson")]//[JsonDerivedType(typeof(TestBaseJson))]public class TestBaseJson{public string? Name { get; set; }public int Id { get; set; }public TestBaseJson TestBase { get; set; }}TestJson testJson =new() {Name = "ces",Date=DateTime.Now,TestBaseJson = new TestBaseJson() { Id = 123, Name = "测试",TestBase = new TestBaseJson() {Id = 123, Name = "2222"} }};JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions{PropertyNameCaseInsensitive = true, // 属性名称大小写不敏感PropertyNamingPolicy = JsonNamingPolicy.CamelCase, // 属性名称使用驼峰命名规则WriteIndented = true, // 设置格式化输出Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, // 允许特殊字符ReadCommentHandling = JsonCommentHandling.Skip, // 忽略注释AllowTrailingCommas = true, // 忽略尾随逗号NumberHandling = JsonNumberHandling.AllowReadingFromString, // 允许数字字符串Converters = { new DatetimeJsonConverter() } // 注册你的自定义转换器, };// 序列化Console.WriteLine(JsonSerializer.Serialize(testJson, jsonSerializerOptions));// 反序列化//string jsonStr = "{\r\n  \"name\": \"ces\",\r\n  \"testBaseJson\": {\r\n    \"name\": \"测试\",\r\n    \"id\": 123,\r\n    \"testBase\": {\r\n      \"name\": \"2222\",\r\n      \"id\": 123,\r\n      \"testBase\": null\r\n    }\r\n  },\r\n  \"date\": \"2025-04-08 10:19:43\"\r\n}";// 或者string jsonStr = "{\"name\":\"ces\",\"testBaseJson\":{\"Name\":\"测试\",\"id\":\"123\",\"testBase\":{\"name\":\"2222\",\"id\":123,\"testBase\":null,}},\"date\":\"2025-04-08 10:19:43\"}";// 这里加了多余逗号,数字字符串,大小写等,进行反序列化TestJson testJson2 = JsonSerializer.Deserialize<TestJson>(jsonStr, jsonSerializerOptions);

序列化

反序列化

http://www.dtcms.com/a/533509.html

相关文章:

  • 用php做网站用到的工具app软件开发课程
  • 做的最好的微电影网站wordpress v电影
  • 整体设计 全面梳理复盘 之8 元数据标准库 + 原始模板设计与程序联动闭环(豆包助手)
  • 国内最大的开源网站wordpress友情联机
  • 中国flash网站模板中心中国网站名
  • SpringBoot的搭建方式
  • 【每天一个知识点】负二项分布(Negative Binomial Distribution, NB分布)
  • 管理网站建设义乌企业网站搭建首选
  • 重庆网站开发网站维护需要关闭网站么
  • 29-机器学习开发框架比较:分析不同框架的适用场景和优缺点
  • STM32F103C8T6--DMA
  • 佛山网站常见的问题大理州建设局官方网站
  • 做企业网站的研究现状简答题网络营销是什么
  • 阮一峰《TypeScript 教程》学习笔记——tsc 命令
  • pos机做网站推广上传文件到网站根目录
  • 德州王霞网站建设郑州企业建筑设计软件
  • 怎样建设简单的网站网站建设论文任务书
  • 最新电子电气架构(EEA)调研-1
  • 简述网站开发的工作流程企业运营模拟实践报告
  • 做外贸网站平台企业网站建设宣贯
  • 技术支持 湖北网站建设合肥seo公司
  • 如何快速建设推广网站创建手机网站
  • 服饰的网站建设晋江原创网
  • 电子商务网站的建设的原理有个网站301什么
  • 网站怎么做接口西安做网站电话
  • 广东网站建设有限公司品牌推广方案模板
  • 安德塔屋人类图Base并置理论Base1解析
  • 建网站没有公司资质校园类网站建设
  • Mem0:构建具有可扩展长期记忆的生产级AI代理 - 论文学习总结2
  • 手机网站如何建立c语言怎么做网站