JSON.Net默认属性序列化顺序是什么?与System.Text.Json行为是否一致?
JSON.Net 序列化顺序相关问题解答
JSON.Net 默认情况下不会出现和System.Text.Json一样不保证属性序列化顺序的行为,它会遵循固定规则维持属性的输出顺序。
默认属性序列化顺序规则
- 优先序列化标记了
[JsonProperty(Order = n)]特性的属性,按Order属性值从小到大排序,数值越小越先被输出 - 接着序列化未标记
Order特性的公共属性,按照它们在类中定义的先后顺序输出 - 最后序列化未标记
Order特性的公共字段,同样遵循类中定义的先后顺序输出
如果需要自定义序列化顺序,除了通过JsonProperty特性指定Order值,还可以通过自定义契约解析器来实现更灵活的排序逻辑。
内容的提问来源于stack exchange,提问作者Fabricio Dupont
相关产品推荐
相关产品推荐

