私はNewtonsoftを使ってJSONデータをオブジェクトに逆シリアル化しています。C#Newtonsoft JSONマッププロパティから配列サブアイテム
私のJSONは、次のようになります。
{
"id": "4aa50d01-41bd-45e3-803e-f479a948acf1",
"referenceNumber": "120064",
"status": "Application in Progress",
"borrowers": [
{
"name": "John Doe",
"type": "BORROWER"
},
{
"name": "Jane Doe",
"type": "COBORROWER"
}
],
"propertyAddress": {
"zipCodePlusFour": ""
}
}
借り手の配列には、最大2つの項目を持つことができます。 1はtype == "BORROWER"
で、もう1つはtype == "COBORROWER"
私はデシリアライズしているLoanItemクラスを持っています。
public class LoanItem
{
public string referenceNumber { get; set; }
public string status { get; set; }
}
私はJSONProperty属性でLoanItemプロパティをマークすることができます知っているが、私は条件で、配列のサブ項目を追加することができます方法がある場合、私は思ったんだけど。多分
[JSONProperty("borrowers[WHERE type = 'BORROWER'].name")]
public string BorrowerName { get; set; }
[JSONProperty("borrowers[WHERE type = 'COBORROWER'].name")]
public string CoBorrowerName { get; set; }
よう
何かが、これは可能ですか? JSONProperty属性を使用できますか?
ハズレにアクセスすることができ、この
にごLoanItemクラスを更新し
Borrower
新しいクラスを作成します。 –
@JeffMercadoだから、JSONを手作業で解析してオブジェクトにマップするだけでいいですか? – James
あなたはそれが悪いことのように聞こえるようにします。 'JsonPropertyAttribute'はあなたがそのようにしたいことをするようには設計されていません。単純なjsonプロパティを.netプロパティにマップする方法です。あなたが提案しているものは、提供されているAPIよりはるかに複雑です。より複雑なロジックが必要な場合は、それを提供するロジックにする必要があります。 –