[英]C# Newtonsoft JSON map property to array sub item
我正在使用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"
,另一個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屬性嗎?
創建一個新的班級Borrower
public class Borrower
{
string Name { get; set; }
string Type { get; set; }
}
將您的LoanItem類更新為此
public class LoanItem
{
public string referenceNumber { get; set; }
public string status { get; set; }
public List<Borrower> Borrowers {get;set;}
public string BorrowerName { get { return Borrowers.Where(x=>x.Type == "BORROWER").FirstOrDefault().Name; }
public string CoBorrowerName { get { return return Borrowers.Where(x=>x.Type == "COBORROWER").FirstOrDefault().Name; } }
}
現在您可以訪問BorrowerName和CoborrowerName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.