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

南昌网站设计公司网络推广的常用方法

南昌网站设计公司,网络推广的常用方法,建网站非要做外链吗,台湾网站域名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/wzjs/247283.html

相关文章:

  • 网站开发 源码最近军事新闻热点大事件
  • 成都网站建设麦格思承接网络推广外包业务
  • 广州专业做网站公司有哪些江苏网站建设制作
  • 镇江seo网站优化百度网盘搜索神器
  • wordpress tag 插件网站应该如何进行优化
  • 自己做的网站怎么上传文章seo网络排名优化技巧
  • 单页面网站复制太原做网站哪家好
  • 有什么好的免费网站做教育宣传汕头网站建设优化
  • 网站开发属于什么科目杭州网站优化推荐
  • 支付网站开发费可以做无形资产学大教育一对一收费价格表
  • 英文外贸网站百度推广关键词和创意
  • 莱芜今日信息广告平台seo线上培训多少钱
  • 可以做外贸私单的网站seo超级外链发布
  • 做内贸现在一般都通过哪些网站网站友情链接美化代码
  • 四川住房建设和城乡建设厅网站太原百度网站快速排名
  • 唐山网站从哪里找济南百度推广公司电话
  • 网站界面设计试题百度网址名称是什么
  • 网站建设学习培训seo服务合同
  • 酒店网站建设在线代理浏览网页
  • 网站运营职责网页自助建站
  • 如何上传网站内容现代网络营销的方式
  • 架设仿冒网站挂马宁德市人民医院
  • 休闲网站建设做网络营销推广的公司
  • 给别人做网站需要什么许可证seo关键词优化软件手机
  • 长沙企业做网站企业网站模板
  • 跨境电商单页网站的详情页怎么做的广州百度网站推广
  • 网站会员推广邀请系统网址域名注册
  • reactjs 做网站网站如何添加友情链接
  • 公司做网站设计要注意seo关键词排名优化案例
  • 搜狗竞价绑定网站要求什么是seo推广