关于 Newtonsoft.Json 和 System.Text.Json 混用导致的的序列化不识别的问题
- 作者: 五速梦信息网
- 时间: 2026年03月21日 04:41
最近,我在做一个我们一个产品的OTA的功能,在调试跟后台对接Json数据的时候,发现序列化的数据一直跟期待的不一致。这让我很纳闷,明明一个简单的序列化和反序列化的问题,怎么数据就不对了。于是乎,就直接导入组件,一步步排查了。
1、由于我是直接调用我们小伙伴的组件,进行Json序列化的,小伙伴的Json 序列化的参数名是调用 System.Text.Json.Serialization.JsonPropertyName 进行Json的一个转义,如下图
2、我查看了我们的下载的组件,由于去年做了一个优化的功能,在Net6以上的版本,用的是
using System.Text.Json
NetFramework版本,用的是
using Newtonsoft.Json;
而我当前的项目用的是NetFramework的版本,应该是调用的 Newtonsoft.Json。
调用结果如下图,终于知道问题所在。
由于我们的类里边的转义是调用的System.Text.Json.Serialization.JsonPropertyName,在用 Newtonsoft.Json.JsonConvert.SerializeObject 的时候,是不会被识别并转成序列化属性名参数的字段的
对应的参数如下
System.Text.Json.Serialization.JsonPropertyName ==> System.Text.Json.JsonSerializer.Serialize
Newtonsoft.Json.JsonProperty ==> Newtonsoft.Json.JsonConvert.SerializeObject
总结:
1、在对于序列话和反序列化中,一定要按照一套的序列化方案实现。由于每一个Json序列化的组件都有可能自己定义修改,存在不兼容的问题
2、序列化的协议,和定义的字段,最好跟序列化的字段保持一致,能够避免序列化异常的问题
- 上一篇: 鼓浪屿一日游最佳路线
- 下一篇: 观音莲怎么分株,观音莲用大盆还是小盆?
相关文章
-
鼓浪屿一日游最佳路线
鼓浪屿一日游最佳路线
- 互联网
- 2026年03月21日
-
鼓捣和捣鼓的区别(河北承德的鼓捣和捣鼓有什么区别)
鼓捣和捣鼓的区别(河北承德的鼓捣和捣鼓有什么区别)
- 互联网
- 2026年03月21日
-
股大师软件(多名“股票大师”被抓)
股大师软件(多名“股票大师”被抓)
- 互联网
- 2026年03月21日
-
观音莲怎么分株,观音莲用大盆还是小盆?
观音莲怎么分株,观音莲用大盆还是小盆?
- 互联网
- 2026年03月21日
-
观音莲怎么浇水,观音莲怎么养爆盆?
观音莲怎么浇水,观音莲怎么养爆盆?
- 互联网
- 2026年03月21日
-
观音土为什么能够吃(吃观音土能活多久)
观音土为什么能够吃(吃观音土能活多久)
- 互联网
- 2026年03月21日








