JQ возникли проблемы с выходом из гипертонии в ключе верхнего уровня
Это мой JSON, который я пытаюсь просто проанализировать JQ:
{
"aaa-bbb-ccc": {
"derp": blah
}
}
Получение ошибки это ошибка:
cat myjson | jq -r .'aaa-bbb-ccc'
jq: error: aaa/0 is not defined at <top-level>, line 1:
.aaa-bbb-ccc
jq: error: bbb/0 is not defined at <top-level>, line 1:
.aaa-bbb-ccc
jq: error: ccc/0 is not defined at <top-level>, line 1:
1 ответ
Решение
Используя базовую форму для доступа к значению ключа, вы должны написать:
jq -r '.["KEYNAME"]'
за исключением того, что в командной строке Windows вам придется возиться с кавычками (или поместить фильтр в файл).
В современных версиях jq базовая форма может быть сокращена до ."KEYNAME"
,
Итак, предполагая, что ваш JQ 1,5 или более поздней, вы можете написать (избегая cat
):
jq -r '."aaa-bbb-ccc"' myjson