12

由于System.Text.Json现在是.NET Core 3.0JSON 库,是否有匹配 Json.NET 的属性/参数?我浏览了扩展类,但似乎没有一个能达到这个目的。JsonProperty(Order)System.Text.Json.Serialization.JsonAttribute

经历JsonSerializer.Write.HandleObject.cs等并没有向我展示任何可以直接替换此处的 legacy 属性的东西。我错过了什么吗?如果没有,在这里复制遗留行为的最简单方法是什么?

4

2 回答 2

1

它在 .Net 6 及更高版本中受支持,使用JsonPropertyOrderAttribute

JsonPropertyOrderAttribute 类

指定序列化时 JSON 中存在的属性顺序。较低的值首先被序列化。如果未指定该属性,则默认值为 0。

如果多个属性具有相同的值,则它们之间的排序是不确定的。

该属性可以应用如下:

[JsonPropertyOrder(order : 1)]
于 2022-02-02T21:07:59.287 回答
0

当前版本的 System.Text.Json 不直接支持 Json.NET 的 JsonProperty(Order)。但是,您可以为此目的创建一个JsonConverter 。

实现此目的的示例:.NET core 3: Order of serialization for JsonPropertyName (System.Text.Json.Serialization)

于 2021-05-28T11:55:21.120 回答