我有這個JSON字串值,定義如下。我想只獲得 "代碼 "的值。 我嘗試了互聯網上的解決方案,但我只得到一個空值。 對此有什么想法嗎?
JObject json = JObject.Parse(JSON string here)。
var jsonData = json.SelectToken("serviceMessage.code"); <-- THIS RETURNS NULL
json:
{}。
"highestSeverity":"錯誤",
"serviceMessage":[/span>
{
"code":"3004",
"嚴重性":"錯誤",
"原因":"原因在這里"。
}。
]
}
uj5u.com熱心網友回復:
正如ADyson所指出的,你的serviceMessage是一個陣列而不是一個物件。因此,你必須把它當作一個集合。
- 檢索集合
- 檢索該集合 檢索其中的第一個元素。
- 最后,你可以得到
code值 。
JObject json = JObject.Parse(rawJson)。
JArray messages = (JArray)json["serviceMessage"] 。
string code = messages.FirstOrDefault()? ["code"]? .Value<string>()
uj5u.com熱心網友回復:
由于serviceMessage是一個陣列,假設你想要第一個專案,你可以簡單地使用
var code = json["serviceMessage"][0]["code"] 。
實時例子。https://dotnetfiddle.net/2WgkcF
uj5u.com熱心網友回復:
基本上,你可以把它決議為一個模型,并獲得code的值。例如:
public class ServiceMessage
{
public string code { get; set; }
public string severity { get; set; }
public string reason { get; set; }
}
public class Root{
public string highestSeverity { get; set; }
public List<ServiceMessage> serviceMessage { get; set; }
}
public class AnotherClasspublic string MyFunction MyFunction(string myJson)/span>{
var data = JsonConvert.DeserializeObject<Root>(myJson)。
//Then you can access the value in the object[/span].
return data.serviceMessage.FirstOrDefault().code;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/332307.html
標籤:
