1. ホーム
  2. c#

[解決済み] JSON.NETを使ったシリアライズフィールドの並び順

2022-04-25 08:13:28

質問

シリアライズされたJSONオブジェクトのフィールドの順序を指定する方法はありますか? JSON.NET ?

1つのフィールドが常に最初に表示されるように指定すれば十分でしょう。

どのように解決するのですか?

サポートされている方法は JsonProperty 属性は、順序を設定したいクラス・プロパティに適用されます。を読んでください。 JsonPropertyAttribute order ドキュメント をご覧ください。

を渡す。 JsonProperty アン Order の値で、あとはシリアライザーが処理します。

 [JsonProperty(Order = 1)]

と非常に似ています。

 DataMember(Order = 1) 

System.Runtime.Serialization の日です。

ここで、@kevin-babcockから重要なお知らせがあります。

... order を 1 に設定するのは、他のすべてのプロパティに 1 より大きい order を設定した場合のみ有効です。デフォルトでは、順序を設定しないプロパティには順序が-1されます。 したがって、すべてのシリアライズされたプロパティに順序を与えるか、最初の項目を-2に設定する必要があります。