Json.net でシリアル化するときにプロパティ名を変更するにはどうすればいいですか? 質問する

Json.net でシリアル化するときにプロパティ名を変更するにはどうすればいいですか? 質問する

C# DataSet オブジェクトにデータがあります。Json.net コンバーターを使用して、これをシリアル化できます。

DataSet data = new DataSet();
// do some work here to populate 'data'
string output = JsonConvert.SerializeObject(data);

ただし、これは .json ファイルに印刷するときのプロパティ名を使用しますdata。プロパティ名を別のものに変更したいと思います (たとえば、「foo」を「bar」に変更します)。

の中にJson.net ドキュメント、「JSON のシリアル化と逆シリアル化」→「シリアル化属性」の下に、「JsonPropertyAttribute... を使用すると、名前をカスタマイズできます」とあります。しかし、例はありません。JsonPropertyAttribute を使用してプロパティ名を別の名前に変更する方法を知っている人はいますか?

ドキュメントへの直接リンク

Json.net のドキュメントは乏しいようです。優れた例があれば、公式ドキュメントに追加するように努めます。ありがとうございます!

ベストアンサー1

名前を制御したいプロパティを、[JsonProperty]別の名前を指定できる属性で装飾することができます。

using Newtonsoft.Json;
// ...

[JsonProperty(PropertyName = "FooBar")]
public string Foo { get; set; }

ドキュメンテーション:シリアル化属性

おすすめ記事