Разобрать JSON-файл, не сохраняя его в файле - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть команда, которая возвращает дамп JSON, который не будет сохранен ни в одном файле.

Мне нужно проанализировать определенное поле из ответа JSON без сохранения вывода.

Я могу добиться этого, если я сохраню выходные данные команды, а затем проанализирую ее, используя jq и grep, например:

platform json_dump platform_id >resp.json
jq . resp.json | grep elbName

Но я не хочу записывать вывод своейкомандная платформа json_dump platform_id, которая представляет собой дамп JSON в любой файл.Я хочу разобрать elbName непосредственно из команды.

Есть ли способ, которым я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Просто перенаправьте вывод программы в jq:

platform json_dump platform_id | jq .elbName

или как угодно.

PS: используйте jq, чтобы получить желаемое значение, а не grep.Пример этого .:

$ echo '{"elbName":"foo"}' | jq .elbName
"foo"
0 голосов
/ 01 февраля 2019

Я предполагаю, что у вас есть Python:)

platform json_dump platform_id | python -c 'import sys,json; print(json.load(sys.stdin)["elbName"])' # a bit long ? :)
0 голосов
/ 01 февраля 2019

Вы можете попробовать другой канал для передачи результата в команду jq

platform json_dump platform_id | jq .| grep elbName
...