Я пытаюсь получить доступ к определенному значению свойства объекта JSON с помощью Powershell. К сожалению, я не знаю ключей некоторых родительских свойств в структуре, поэтому я не могу сделать это простым способом. Кроме того, поскольку JSON не является массивом, я не могу получить к нему доступ через индексную позицию.
Контекст заключается в том, что я запрашиваю список запущенных задач из эластичного поиска и мне нужно получить идентификатор задачи (я знаю, чтобудет только один), поэтому я могу сделать последующие вызовы, чтобы определить его состояние завершения.
Я исследовал некоторые методы запросов, но не уверен, как их применять (синтаксис PowerShell для меня совершенно новый).
Ответ JSON, с которым я работаю, выглядит следующим образом:
"nodes" : {
"oTUltX4IQMOUUVeiohTt8A" : {
"name" : "H5dfFeA",
"transport_address" : "127.0.0.1:9300",
"host" : "127.0.0.1",
"ip" : "127.0.0.1:9300",
"tasks" : {
"oTUltX4IQMOUUVeiohTt8A:124" : {
"node" : "oTUltX4IQMOUUVeiohTt8A",
"id" : 124,
"type" : "direct",
"action" : "cluster:monitor/tasks/lists[n]",
"start_time_in_millis" : 1458585884904,
"running_time_in_nanos" : 47402,
"cancellable" : false,
"parent_task_id" : "oTUltX4IQMOUUVeiohTt8A:123"
}
}
}
}
}
С этой заданной структурой я хотел бы иметь возможность доступа к свойству ID первой 'задачи'.
Так что, если бы я знал ключи опоры, это было бы:
nodes.oTUltX4IQMOUUVeiohTt8A.tasks.oTUltX4IQMOUUVeiohTt8A:124.id
Как я могу получить доступ к этому значению, не зная заранее ключей?
Любая помощь очень ценится.
Спасибо, Ник