このJSONをOrderDtoC#クラスに簡単に逆シリアル化するにはどうすればよいですか?どういうわけか属性でこれを行う方法はありますか?
JSON:
{
"ExternalId": "123",
"Customer": {
"Name": "John Smith"
}
...
}
C#:
public class OrderDto
{
public string ExternalId { get; set; }
public string CustomerName { get; set; }
...
}
JsonProperty属性を試してみましたが、機能させることができませんでした。私のアイデアは、次のような注釈を書くことでした。
[JsonProperty("Customer/Name")]
public string CustomerName { get; set; }
しかし、それはうまくいかないようです。何か案は?どうも! :)
クラスは次のようになります。
public class OrderDto
{
public string ExternalId { get; set; }
public Customer Customer { get; set;}
}
public class Customer
{
public string CustomerName { get; set; }
}
将来的には、既存のJSONをいくつか使用して http://json2csharp.com/ を使用することをお勧めします。
次のように、残りのプロパティをネストする別のクラスを作成できます。
_public class OrderDto
{
public string ExternalId { get; set; }
public Customer Customer { get; set; }
}
public class Customer
{
public string Name { get; set; }
}
_
これは、NameがJSONデータ内のCustomerオブジェクトのネストされたプロパティであるためです。
[JsonProperty("")]
コードは通常、JSON名がコードで付けたい名前と異なる場合に使用されます。
_[JsonProperty("randomJsonName")]
public string ThisIsntTheSameAsTheJson { get; set; }
_