Я пытаюсь обработать некоторые JSON с помощью jq. В частности, мне нужен конкретный ключ на основе его дочернего значения. Приведен пример:
{
"foo": {"primary": true, "blah": "beep"},
"bar": {"primary": false, "blah": "narf"},
"baz": {"primary": false, "blah": "poink"},
}
Мне нужна строка «foo», потому что это ключ, дочернее значение которого «primary» истинно. (Я могу гарантировать, что одна и только одна запись будет иметь primary = true , из-за того, что генерирует JSON.)
Пока что лучшее, что мне удалось сделать, это:
jq -r '.[] | select(.primary == true)'
Но это возвращает значение "foo", а не Сама строка "foo". Пока копалась в руководстве, я не нашла способа получить ключ конкретно.
Какие-нибудь указатели вы можете предоставить?