jq Playground

Вставьте JSON, напишите фильтр jq и мгновенно увидите результат. Запускает настоящий jq, скомпилированный в WebAssembly, полностью в вашем браузере.

Ваш JSON обрабатывается локально с помощью jq, работающего как WebAssembly в вашем браузере, и никогда не загружается, но избегайте вставки секретов или производственных данных в любой инструмент.

Нужен JSONPath вместо jq? Попробуйте JSONPath Evaluator.

Об инструменте jq Playground

Этот jq playground позволяет запускать фильтры jq на JSON без установки чего-либо. Вставьте документ JSON, введите выражение вроде .users | map(.name), .[] | select(.active) или group_by(.type), и результат появится по мере ввода. Это настоящий jq 1.8.2, скомпилированный в WebAssembly, поэтому те же фильтры, функции и синтаксис пайпов, что вы используете в командной строке, работают и здесь, включая map, select, sort_by, group_by, to_entries и интерполяцию строк. Включите сырой вывод (-r), чтобы убрать кавычки из строковых результатов, или компактный вывод (-c), чтобы поместить каждое значение в одну строку. Ошибки компиляции и времени выполнения jq показываются, поэтому вы можете быстро исправить фильтр. Поскольку jq работает как WebAssembly внутри страницы, вставленный JSON обрабатывается локально на вашем устройстве и никогда не загружается на сервер.

Возможности

Как использовать jq Playground

  1. Вставьте или введите ваш JSON в поле JSON.
  2. Напишите фильтр jq в поле фильтра, например .users | map(.name).
  3. Наблюдайте, как обновляется вывод, или нажмите «Запустить» / Cmd+Enter для немедленного вычисления.
  4. Включите сырой (-r) или компактный (-c), если нужно другое форматирование.
  5. Нажмите «Копировать», чтобы взять результат.

Пример

Ввод

{
  "users": [
    { "name": "Ada", "active": true },
    { "name": "Linus", "active": false }
  ]
}

Результат

[
  "Ada"
]

Фильтр .users | map(select(.active)) | map(.name) оставляет только активных пользователей и возвращает их имена.

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Запускает ли это настоящий jq?
Да. Он запускает jq, скомпилированный в WebAssembly, поэтому это настоящий движок jq, а не реимплементация на JavaScript. Фильтры, встроенные функции и семантика пайпов совпадают с jq, который вы запускаете в терминале.
Какая версия jq поддерживается?
jq 1.8.2, через сборку jq-wasm. Функции и синтаксис, доступные в jq 1.8 — такие как group_by, to_entries, ltrimstr и интерполяция строк с \(...) — работают здесь.
Что делают переключатели сырого (-r) и компактного (-c) вывода?
Сырой вывод (-r) печатает строковые результаты без окружающих кавычек, как флаг -r у jq. Компактный вывод (-c) печатает каждое значение JSON в одной строке вместо красивого вывода, как флаг -c у jq.
Загружается ли мой JSON куда-либо?
Нет. jq работает как WebAssembly внутри этой страницы, поэтому вставленный JSON и написанный фильтр вычисляются локально на вашем устройстве и не отправляются на сервер.
Почему первый запуск немного медленнее?
Модуль jq на WebAssembly загружается и инициализируется при первом запуске фильтра, поэтому вы видите краткое состояние загрузки. После этого он остаётся в памяти, и последующие запуски быстры.
Можно ли запускать фильтры с select, map и group_by?
Да. Выражения вроде .[] | select(.active), .users | map(.name) и group_by(.type) все работают, наряду с остальными функциями фильтрации, преобразования и агрегации jq.

Связанные инструменты

Все инструменты ArrayKit