我有一個如下所示的 JSON 物件。
{
"?xml": {
"@version": "1.0",
"@encoding": "UTF-8"
},
"?xml-stylesheet": "type=\"text/xsl\" href=\"isokur.xsl\"",
"Tarih_Date": {
"@Tarih": "14.10.2022",
"@Date": "10/14/2022",
"@Bulten_No": "2022/196",
"Currency": [
{
"@CrossOrder": "0",
"@Kod": "USD",
"@CurrencyCode": "USD",
"Unit": "1",
"Isim": "ABD DOLARI",
"CurrencyName": "US DOLLAR",
"ForexBuying": "18.5596",
"ForexSelling": "18.5930",
"BanknoteBuying": "18.5466",
"BanknoteSelling": "18.6209",
"CrossRateUSD": null,
"CrossRateOther": null
},
{
"@CrossOrder": "1",
"@Kod": "AUD",
"@CurrencyCode": "AUD",
"Unit": "1",
"Isim": "AVUSTRALYA DOLARI",
"CurrencyName": "AUSTRALIAN DOLLAR",
"ForexBuying": "11.6732",
"ForexSelling": "11.7493",
"BanknoteBuying": "11.6195",
"BanknoteSelling": "11.8198",
"CrossRateUSD": "1.5862",
"CrossRateOther": null
}
]
}
}
我只想從中獲取這部分。在哪里@CurrencyCode == "USD"
[
{
"@CrossOrder": "0",
"@Kod": "USD",
"@CurrencyCode": "USD",
"Unit": "1",
"Isim": "ABD DOLARI",
"CurrencyName": "US DOLLAR",
"ForexBuying": "18.5596",
"ForexSelling": "18.5930",
"BanknoteBuying": "18.5466",
"BanknoteSelling": "18.6209",
"CrossRateUSD": null,
"CrossRateOther": null
}
]
為此,我根據這個答案創建了下面的代碼。
string result = JObject.Parse(json)["Tarih_Date"].SelectToken("$.Currency[?(@.@CurrencyCode=='USD')]")["Currency"].ToString();
但我無法說出來,我得到了下面的例外。據我了解,我的查詢沒有找到它的方式(?)但無法理解它在哪里。
System.NullReferenceException: 'Object reference not set to an instance of an object.'
什么都有幫助!
uj5u.com熱心網友回復:
您會收到例外,因為SelectToken 的輸出中沒有名為Currency的屬性。通過切換到以下位置,您將獲得所需的輸出:
var result = JObject.Parse(json)["Tarih_Date"].SelectToken("$.Currency[?(@.@CurrencyCode == 'USD')]");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/522476.html
標籤:C#网json
