[英]LINQ: Get an object in array containing property with specific name and value
嘗試通過使用具有特定值的屬性之一作為“指針”來選擇數組中的對象。 我的目標是用 linq 做到這一點
例子:
{
"A": "ValA",
"B": "ValB",
"C": [
{
"D": "ValD1",
"E": "ValE1",
"F": "ValF1"
},
{
"D": "ValD2",
"E": "ValE2",
"F": "ValF2"
},
{
"D": "ValD2",
"E": "ValE3",
"F": "ValF3"
}
]
}
所以我想要做的是獲取包含屬性“D”和值為“ValD2”的對象 n 數組“C”。 由於有兩個對象,我想讓 LINQ 查詢返回包含兩個對象的列表。 如果在一個包含屬性“D”且值為“ValD2”的對象上。 可以這么說,我只會取回一個包含這些參數的對象。
那是:
[
{
"D": "ValD2",
"E": "ValE2",
"F": "ValF2"
},
{
"D": "ValD2",
"E": "ValE3",
"F": "ValF3"
}
]
到目前為止,我已經設法通過這樣做獲得了數組 C 中的所有對象:
json.DescendantsAndSelf().OfType<JObject>().Where(x => x.ContainsKey("C")).ToList()
所以我想我是在 Abdus Salam Azad 和 Prasad Telkikar 的幫助下找到的:
json.DescendantsAndSelf().OfType<JObject>().Where(x => x.ContainsKey("D")).Where(x => x.Property("D").Value.ToString() == "ValD2").ToList()
謝謝大家!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.