Получить идентификатор, где значения верны с JQ - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь провести l oop через каждый из объектов в файле json и получить имя id, где trunk равно true. Прямо сейчас я получаю id для каждого из объектов.

json файл:

[
  {
    "id": "bmw",
    "color": "blue",
    "trunk": true,
    "seat": false
  },
  {
    "id": "merceredes",
    "color": "blue",
    "trunk": false,
    "seat": false
  }

]

bash скрипт:

/bin/bash
for id in `jq -r -c .[] file.json`; do
  echo $id | jq -r .id
done

1 Ответ

3 голосов
/ 01 апреля 2020

Вы не указали точную форму вывода, которую хотите, но следующее иллюстрирует один подход к проблеме:

jq '.[] | select(.trunk == true) | .id' file.json

Если .trunk имеет логическое значение, вы можете упростить параметр select до .trunk.

...