jq — обработка JSON в консоли
шпаргалка · jq 1.7 https://lab.dimsanych.ru/ru/wiki/jq/Шпаргалка
-
jq .pretty -
jq '.field'значение поля -
jq '.a.b'значение вложенного поля -
jq '.arr[]'элементы массива -
jq -r '.[].name'сырой вывод (скрипты) -
jq '.[] | select(.x=="y")'фильтр -
jq -r '.[] | [.id,.name] | @tsv'таблица TSV -
jq --arg u "$USER" '.[]|select(.name==$u)'shell-переменная в фильтр
Ключи
-r убирает кавычки у строкового результата — без него в скрипт попадёт JSON
literal "value", а не value. --arg/--argjson — единственный безопасный
способ подставить значение shell-переменной в фильтр: вклеивание переменной в
текст фильтра ломается на кавычках и спецсимволах. -s (slurp) нужен, когда
вход — поток из нескольких JSON-объектов, а обработать их надо как один массив.