У меня есть следующий файл JSON. Он сокращен для краткости этого вопроса. Фактический файл JSON будет содержать 10-20 сообщений и 3 - 15 результатов.Используя JPath, как мне вернуть значение на основе другой пары значений ключа того же узла?
{
"messages": [
{
"type": "msgInfo",
"description": "Some stuff happened"
},
{
"type": "msgInfo",
"description": "More stuff happened"
},
{
"type": "msgInfo",
"description": "yup, more stuff happened"
}
],
"results": [
{
"parameterId": "val_1",
"dataType": "Double",
"value": 123.45
},
{
"parameterId": "val_2",
"dataType": "Double",
"value": 246.80
},
{
"parameterId": "val_3",
"dataType": "Double",
"value": 135.79
},
{
"parameterId": "val_4",
"dataType": "Long",
"value": 20161021
}
]
}
Я пытаюсь получить значение ключа value
на основе значения ключа parameterId
. Например, мне нужно вернуть «123.45», используя JPath для «val_1».
До сих пор у меня этот код (скопирован из this), но я не могу получить правильный путь.
JObject obj = JObject.Parse(json);
JToken token = obj["results"]["parameterId"];
Console.WriteLine(token.Path + " -> " + token.ToString());
Console.ReadLine();
Что мне нужно сделать, чтобы вернуть «123,45» с помощью JPath к «val_1»?