Справка по синтаксису jq для запроса вывода списков - PullRequest
0 голосов
/ 21 сентября 2019

Мне нужна помощь в исправлении синтаксиса тестовых примеров jq.Ниже приведен выходной файл и попытка проверить список идентификаторов с помощью команды ниже.Предоставляет индекс ошибки для строкового типа.

[[ $(echo $output| jq -r '.output.value[] | select(.identity).id_list') == *"id2"*  ]]

output = {
   "resource_output": {

    "value": {
           "identity": [
            {
              "id_list": [
                "/subscriptions/---/id1",
                "/subscriptions/---/id2",
                "/subscriptions/--/id3"
             ],
             "principal_id": "",
             "tenant_id": "",
             "type": "managed"
           }
         ]
    }
    }

1 Ответ

1 голос
/ 21 сентября 2019

Ваш запрос не соответствует образцу JSON, и вы не указали ожидаемый результат, но следующий вариант вашего запроса показывает, как использовать select и test с вашими данными в соответствии с рекомендациямипопытка:

echo "$output" |
  jq -r '.resource_output.identity[].id_list[] | select(test("id2"))'

Вывод:

/subscriptions/---/id2  
...