基本上我有這個JSON和我有基於「用戶標識」獲取基於其價值的一個JSON對象
[
{
"Userid": 2,
"Id": 99999
},
{
"Userid": 4,
"Id": 55555
}
]
拿到「身份證」,我需要選擇基礎上的JSON對象「用戶名」。
我該怎麼做?
我用這個線程:
string json = @"
{
wvw_matches: [
{
wvw_match_id: ""1-4"",
red_world_id: 1011,
blue_world_id: 1003,
green_world_id: 1002,
start_time: ""2013-09-14T01:00:00Z"",
end_time: ""2013-09-21T01:00:00Z""
},
{
wvw_match_id: ""1-2"",
red_world_id: 1017,
blue_world_id: 1021,
green_world_id: 1009,
start_time: ""2013-09-14T01:00:00Z"",
end_time: ""2013-09-21T01:00:00Z""
}
]
}";
string matchIdToFind = "1-2";
JObject jo = JObject.Parse(json);
JObject match = jo["wvw_matches"].Values<JObject>()
.Where(m => m["wvw_match_id"].Value<string>() == matchIdToFind)
.FirstOrDefault();
if (match != null)
{
foreach (JProperty prop in match.Properties())
{
Console.WriteLine(prop.Name + ": " + prop.Value);
}
}
但由於礦井不具備「wvw_matches」(不知道該怎麼稱呼它),我不知道:Json.Net Select Object based on a value
有解決辦法瞭解我將如何在我的情況下使用它。
'jo.Values().Where(m => m [「Userid」]。Value ()== matchIdToFind).FirstOrDefault();'? –
GSerg
'var str = File.ReadAllText(「E:/User.json」); string json = $「{str}」; JObject jo = JObject.Parse(json); string matchIdToFind =「1」; JObject match = jo.Values().Where(m => m [「Userid」]。Value ()== matchIdToFind).FirstOrDefault(); 如果(匹配!= NULL){ 的foreach (JProperty丙中match.Properties()){ Console.WriteLine(prop.Name + 「:」 + prop.Value); } }'This throws the error: –
datuhaccz
'string json = $「{str}」;'?你採取了哪些步驟來找出File.ReadAllText()返回的內容? –