У меня есть различные входные данные JSON в формате, которые содержат определенное имя ключа terminalSize
. Это единственная вещь, которую я знаю. Общее количество JSON деревьев или точная глубина terminalSize
внутри JSON дерева навсегда останутся неизвестными и могут быть изменены.
Я ищу C# решение для l oop через каждого потомка строки JSON и найдите terminalSize
, затем извлеките значение.
Я попробовал это с успехом, но он будет работать, только если terminalSize
находится на первом уровне JSON:
var list = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(jsonString);
var dict = list.SelectMany(d => d).ToDictionary(p => p.Key, p => p.Value);
var terminal = dict["terminalSize"];
Пример 1.
{
"status": "success",
"data": {
"terminalSize": 3766505.46,
"totalTerminalSize": 3766505.46
},
"message": null
}
Пример 2.
{
"lastUpdated": 1588020678,
"terminalData": {
"terminalSize": "451679852",
"totalTerminalSize": "2100000000"
},
"terminalValueSeries": {
"8x7": 2.33,
"8x6": 3.73,
"8x5": 4.49,
"8x4": 3.68,
"8x3": 13998,
"8x2": 274936,
"8x1": 5.09
}
}
Пример 3.
{
"terminalSize": "492612346.17",
"terminalStatus": "online"
}