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 1.8.2, скомпилированный в WebAssembly, а не частичную реимплементацию
- Живые результаты при изменении с задержкой, плюс кнопка «Запустить» и Cmd/Ctrl+Enter
- Переключатель сырого вывода (-r) для выдачи строк без кавычек
- Переключатель компактного вывода (-c) для одного значения на строку
- Понятные ошибки компиляции и времени выполнения jq, поднятые из stderr
- Кликабельные примеры фильтров (map, select, group_by, length, sort), заполняющие запрос
- Копирование вывода в один клик
- WASM загружается только при первом запуске фильтра, затем остаётся прогретым
Как использовать jq Playground
- Вставьте или введите ваш JSON в поле JSON.
- Напишите фильтр jq в поле фильтра, например .users | map(.name).
- Наблюдайте, как обновляется вывод, или нажмите «Запустить» / Cmd+Enter для немедленного вычисления.
- Включите сырой (-r) или компактный (-c), если нужно другое форматирование.
- Нажмите «Копировать», чтобы взять результат.
Пример
Ввод
{
"users": [
{ "name": "Ada", "active": true },
{ "name": "Linus", "active": false }
]
}
Результат
[
"Ada"
]
Фильтр .users | map(select(.active)) | map(.name) оставляет только активных пользователей и возвращает их имена.
Частые ошибки и устранение неполадок
- jq сообщает о синтаксической ошибке вроде «Unexpected end of input» или «unexpected token». — Проверьте фильтр на несбалансированную скобку или пайп, например .[ должно быть .[] или .[0]; jq разбирает всё выражение перед запуском.
- «Cannot iterate over null» или «Cannot index ... with ...». — Путь не существует в ваших данных. Используйте опциональный доступ вроде .users[]? или .field // empty и убедитесь, что имена ключей совпадают с вашим JSON.
- Строковый вывод всё ещё имеет окружающие кавычки. — Это обычный вывод JSON. Включите сырой вывод (-r), чтобы выдать строку без кавычек, что обычно и нужно при передаче в шелл.
- Вывод пуст, хотя фильтр выглядит правильно. — Ваш фильтр мог не дать значений (например, select, который ничего не совпал). Попробуйте сначала фильтр тождества ., чтобы подтвердить, что JSON разбирается, затем сужайте.
Часто задаваемые вопросы
- Запускает ли это настоящий 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.
Связанные инструменты
- Форматировщик JSON — Форматируйте, минимизируйте и проверяйте JSON с указанием места ошибок.
- JSONPath Evaluator — Проверьте выражение JSONPath на вашем JSON и смотрите совпадения вживую.
- Просмотрщик JSON — Текстовый и древовидный просмотр со сворачиванием/разворачиванием и путями узлов.
- JSON Flatten — Сплющивайте вложенный JSON в ключи с точечной нотацией или разворачивайте обратно.
- JSON Diff — Сравнение двух документов JSON со структурным различием.
- YAML ↔ JSON — Преобразуйте YAML в JSON и обратно.
Все инструменты ArrayKit