Bash JSON Viewer — jless & JQ_COLORS

·Platform Engineer·ПеревіреноNadia Okonkwo·Опубліковано

Використовуйте безкоштовний JSON Pretty Print прямо в браузері — без встановлення.

Спробувати JSON Pretty Print онлайн →

Коли потрібен переглядач JSON у bash для інтерактивного дослідження, а не для скриптингу, стандартний jq . не справляється — вивід прокручується повз верхню частину терміналу, і немає можливості повернутися до 300-рядкової відповіді API. Цей посібник охоплює інструменти, створені спеціально для інтерактивного перегляду JSON у терміналі: jless (дерево що згортається з vim-навігацією), JQ_COLORS для налаштування колірних тем, jq -C | less -R для кольорового гортання, псевдоніми оболонки для щоденного використання та fx як альтернатива на Node.js. Для скриптингу, CI/CD та робочих процесів валідації дивіться супутній посібник із форматування JSON у Bash. Для браузерного перегляду без встановлення інструмент JSON Pretty Print працює миттєво. Приклади протестовано на Bash 5.x (macOS через Homebrew, Ubuntu 22.04+) та сумісні з Bash 3.2+ (системна оболонка macOS).

КЛЮЧОВІ ВИСНОВКИ
  • jless — найкращий інтерактивний JSON-переглядач для терміналу: дерево що згортається, vim-клавіші, інкрементальний пошук
  • jq -C . | less -R — кольоровий пейджер з прокруткою без додаткового встановлення поза jq
  • JQ_COLORS — змінна оточення для налаштування ANSI-кольорової схеми jq для кожного типу JSON
  • fx — інтерактивний JSON-переглядач на Node.js з підтримкою миші та JavaScript-фільтрами
  • alias jv='jless' — однослівна команда перетворює інтерактивний перегляд на звичку

Інтерактивний vs. Скриптовий перегляд JSON

Передача JSON у jq . — правильний вибір для форматованого виводу невеликих даних або коли результат подається в іншу команду. Це неправильний вибір, коли потрібно досліджувати відповідь API з 200 полями — вивід промайне у вікні терміналу і не дасть жодної можливості навігувати, згортати розділи або шукати конкретне поле без повторного запуску команди з фільтром. Інтерактивні JSON-переглядачі відображають той самий форматований та кольоровий вивід всередині постійного пейджера з керованою навігацією. Дані ідентичні; різниця — в інтерфейсі.

Before · Bash
After · Bash
# jq . — вивід прокручується за екран для великих відповідей
curl -s https://api.github.com/users/torvalds | jq .
# 300+ рядків прокручуються — контекст втрачається миттєво
# jless — відкриває інтерактивний пейджер, нічого не прокручується
curl -s https://api.github.com/users/torvalds | jless
# Повний документ видимий, згортається, шукається за допомогою j/k/h/l
Примітка:Інтерактивні переглядачі призначені тільки для перегляду людиною — вони не повинні з'являтися у скриптах, CI-пайплайнах або автоматизації. Для програмної обробки JSON використовуйте jq з явними фільтрами та обробкою кодів виходу. Патерни скриптингу розглянуто в посібнику з форматування JSON у Bash.

jless — Інтерактивний JSON-переглядач

jless — спеціалізований термінальний JSON-переглядач. На відміну від простого пайпу через jq, він відображає документ як постійне дерево що згортається: кожен об'єкт і масив можна незалежно розгортати та згортати за допомогою l та h, навігація використовує vim-клавіші, а інкрементальний пошук миттєво знаходить будь-який ключ або значення. Він читає ввід потоково, тому відкриває великі файли та відповіді API менш ніж за секунду незалежно від розміру — де jq буферизує весь документ перед відображенням. Я першим ділом тягнуся до jless, коли відповідь API занадто велика для побіжного перегляду.

Встановлення

Bash
# macOS
brew install jless

# Linux — готовий бінарник із GitHub Releases
curl -sL https://github.com/PaulJuliusMartinez/jless/releases/latest/download/jless-x86_64-unknown-linux-gnu.tar.gz \
  | tar xz
sudo mv jless /usr/local/bin/

# Перевірка
jless --version

Базове використання

Bash
# Відкрити локальний файл — інтерактивний переглядач запускається негайно
jless api-response.json

# Передати будь-який JSON-потік безпосередньо в jless
curl -s https://api.github.com/users/torvalds | jless

# Відкрити з усіма вузлами, згорнутими до верхнього рівня (зручна відправна точка для великих документів)
jless --mode line api-response.json

# Завантажити конкретний елемент масиву і переглянути окремо
jq '.[0]' deployments.json | jless

Навігація та пошук на практиці

Bash
# Всередині jless:
#
#   j / ↓        вниз
#   k / ↑        вгору
#   l / →        розгорнути вузол (або Enter)
#   h / ←        згорнути вузол
#   H            згорнути поточний + усіх сусідів → огляд верхнього рівня
#   L            розгорнути все рекурсивно
#
#   /            почати пошук уперед — введіть ім'я ключа та натисніть Enter
#   n / N        наступний / попередній збіг
#
#   g / gg       перейти до початку
#   G            перейти до кінця
#   q            вийти

Довідник клавіш jless

Усі клавіші доступні відразу після відкриття jless — жодного налаштування не потрібно. Модель навігації навмисно ідентична vim, щоб існуюча м'язова пам'ять переносилася.

Клавіша
Дія
Коли використовувати
j / ↓
Перемістити курсор на рядок вниз
Переглядаючи ключі об'єкта або елементи масиву
k / ↑
Перемістити курсор на рядок вгору
Повертаючись до попереднього поля
J
Переміститися на 5 рядків вниз
Швидке гортання довгих масивів
K
Переміститися на 5 рядків вгору
Швидка навігація вгору
h / ← / -
Згорнути поточний вузол
Приховати великий вкладений об'єкт для зменшення шуму
l / → / +
Розгорнути поточний вузол
Відкрити згорнутий об'єкт або масив
H
Згорнути поточний вузол і всіх сусідів
Отримати загальний огляд структури верхнього рівня
L
Рекурсивно розгорнути всі вузли
Розкрити повну глибину вкладеної структури
g
Перейти до початку документа
Швидко повернутися до кореневого елемента
G
Перейти до кінця документа
Перейти до останнього елемента у великому масиві
/
Почати пошук уперед
Знайти конкретний ключ або значення в документі
?
Почати пошук назад
Пошук угору від поточної позиції
n
Перейти до наступного збігу
Перебирати всі входження пошукового запиту
N
Перейти до попереднього збігу
Крокувати назад по результатах пошуку
q
Вийти з jless
Вихід після завершення перевірки

jq -C | less -R — Кольорове гортання без додаткових інструментів

Якщо jless не встановлено і потрібен вигляд JSON-відповіді з прокруткою та кольором, jq -C . | less -R є хорошим запасним варіантом. Прапор -C примусово вмикає ANSI-коди кольорів навіть коли stdout є пайпом (зазвичай jq їх прибирає), а -R каже less інтерпретувати коди замість виводу їх як буквальний текст. Результат — повністю кольоровий документ з прокруткою — без інтерактивної структури дерева jless. Навігація всередині less використовує клавіші зі стрілками або vim-клавіші j/k, а / запускає вбудований текстовий пошук less.

Bash
# Базовий кольоровий пейджер
jq -C . response.json | less -R

# Із curl-відповіді — -s запобігає потраплянню індикатора прогресу в JSON-потік
curl -s https://api.github.com/repos/jqlang/jq | jq -C . | less -R

# Відсортувати ключі для зручного візуального сканування, потім переглядати
jq -CS . config.json | less -R
# -C = примусовий колір, -S = сортування ключів (обидва прапори об'єднані)

# Додати псевдонім, щоб не набирати повний пайп кожного разу
alias jqv='jq -C . | less -R'
# Використання: cat response.json | jqv
#    або: curl -s https://api.example.com/status | jqv
Примітка:jq -C | less -R буферизує весь форматований вивід перед тим як less зможе його відобразити. На файлі 200 МБ це означає очікування кількох секунд і значне споживання пам'яті — те саме обмеження, що у звичайного jq .. Для великих файлів використовуйте jless, який читає дані потоково.

JQ_COLORS — Налаштування колірних тем

JQ_COLORS — змінна оточення, що перевизначає стандартну ANSI-кольорову схему jq. Вона приймає рядок із семи кодів вигляду attribute;color, розділених двокрапками, по одному для кожного типу JSON у фіксованому порядку: null : false : true : числа : рядки : масиви : об'єкти. Кожен код має формат атрибут;колір, де атрибут — 0 (звичайний), 1 (жирний), 2 (тьмяний) або 4 (підкреслений), а колір — стандартний номер ANSI (30–37 = стандартні, 90–97 = яскраві).

Bash
# Довідник ANSI-кольорів для побудови JQ_COLORS:
#   Атрибути:  0=звичайний  1=жирний  2=тьмяний  4=підкреслений
#   Кольори:   30=чорний  31=червоний  32=зелений  33=жовтий
#              34=синій   35=пурпурний  36=блакитний  37=білий
#   Яскраві:   90=яскраво-чорний  91=яскраво-червоний  92=яскраво-зелений  93=яскраво-жовтий
#              94=яскраво-синій  95=яскраво-пурпурний  96=яскраво-блакитний  97=яскраво-білий
#
# Порядок: null : false : true : числа : рядки : масиви : об'єкти

# Висококонтрастна тема для темних терміналів (рекомендується)
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"
# null=темно-сірий, false=яскраво-червоний, true=яскраво-зелений,
# numbers=яскраво-жовтий, strings=зелений, arrays=жирний-блакитний, objects=жирний-блакитний

# Тема у стилі Solarized
export JQ_COLORS="2;37:0;35:0;35:0;36:0;33:1;34:1;34"
# null=тьмяно-білий, false=пурпурний, true=пурпурний,
# numbers=блакитний, strings=жовтий, arrays=жирний-синій, objects=жирний-синій

# Мінімалістична (тільки жирні ключі, все інше звичайне)
export JQ_COLORS="0;90:0;39:0;39:0;39:0;39:1;39:1;39"
Bash
# Додайте обрану тему в ~/.bashrc або ~/.zshrc для застосування до всіх викликів jq
echo 'export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"' >> ~/.bashrc
source ~/.bashrc

# Тест теми
echo '{"active":true,"errors":null,"count":42,"tags":["api","v2"],"meta":{"version":"1.0"}}' | jq .
Увага:JQ_COLORS повинна містити рівно сім значень, розділених двокрапками. Якщо рядок містить менше сегментів, jq мовчки повертається до вбудованих налаштувань без жодного повідомлення про помилку — через що некоректне налаштування важко діагностувати. Завжди тестуйте новий рядок кольорів на короткому JSON-пейлоаді перед додаванням до профілю оболонки.

Псевдоніми оболонки для щоденного перегляду JSON

Команди для інтерактивного перегляду JSON за замовчуванням багатослівні. Невеликий набір псевдонімів у ~/.bashrc або ~/.zshrc робить jless і кольорове гортання однослівними командами, що органічно вписуються в будь-який робочий процес. Псевдоніми нижче компонуються — jv і jvp приймають і пайпний ввід, і ім'я файлу першим аргументом.

Bash
# Додайте в ~/.bashrc або ~/.zshrc

# jv — інтерактивний переглядач (jless якщо доступний, інакше кольоровий пейджер)
jv() {
  if command -v jless &>/dev/null; then
    jless "$@"
  else
    jq -C . "$@" | less -R
  fi
}

# jvp — перегляд із ключами, відсортованими за алфавітом (зручно для порівняння відповідей)
alias jvp='jq -CS . | less -R'

# jvc — перегляд із буфера обміну (macOS)
alias jvc='pbpaste | jless'

# jvf — перегляд із фільтром: jvf '.users[0]' response.json
jvf() {
  local filter="$1"; shift
  jq -C "$filter" "$@" | less -R
}

# Перезавантаження без перезапуску терміналу
source ~/.bashrc
Bash
# Приклади використання після додавання псевдонімів

# Перегляд файлу або пайпної відповіді
jv deployment-config.json
curl -s https://api.github.com/users/torvalds | jv

# Перегляд із сортуванням (зручно сканувати за алфавітом)
cat feature-flags.json | jvp

# Детальний перегляд піддокумента
jvf '.database' infra/app-config.json
jvf '.users[] | select(.role == "admin")' users.json

bat — Перегляд JSON-файлів із підсвічуванням синтаксису

bat — заміна cat з підсвічуванням синтаксису, номерами рядків і вбудованим пейджером. Для JSON-файлів на диску він забезпечує чистий перегляд у стилі редактора без відкриття повноцінного текстового редактора. На відміну від jless, bat відображає файл як статичний текст — без згортання, без пошуку, без навігації окрім прокрутки. Його сила — візуальна чіткість для статичних файлів середнього розміру (конфіги, фікстури, тестові пейлоади), де потрібне підсвічування синтаксису та номери рядків, але не потрібна інтерактивна навігація деревом.

Bash
# macOS
brew install bat

# Debian / Ubuntu (бінарник може називатися batcat)
apt-get install -y bat
# alias bat=batcat   # додайте в ~/.bashrc якщо потрібно на Ubuntu

# Перегляд JSON-файлу з підсвічуванням синтаксису та номерами рядків
bat config/feature-flags.json

# Вимкнути пейджер — вивід прямо в термінал (корисно у скриптах)
bat --paging=never api-response.json

# Комбінувати з jq: форматувати через jq, переглядати через bat (зберігає підсвічування JSON)
jq '.' response.json | bat --language=json --paging=never
Примітка:Використовуйте bat для читання статичних конфігураційних файлів і тестових фікстур, де важливі номери рядків (наприклад, коли падіння тесту посилається на рядок 47 у файлі фікстури). Для відповідей API і динамічного JSON із curl jless швидше відкривається і зручніший для навігації. Якщо потрібно переглянути в браузері та поділитися з колегою, вставте безпосередньо в інструмент JSON Pretty Print — термінал не потрібен.

fx — Інтерактивний JSON-оглядач на Node.js

fx — інтерактивний JSON-переглядач на Node.js. Його інтерфейс схожий на jless — дерево що згортається, клавіатурна навігація, пошук — але додає дві функції, яких немає в jless: підтримка миші (клік для розгортання/згортання вузлів) і можливість ввести JavaScript-вираз у нижньому рядку для фільтрації документа в реальному часі. Для команд, що вже використовують Node.js, fx підходить органічно і не потребує окремого бінарника. Для чистих термінальних середовищ без Node jless — легший вибір.

Bash
# Глобальне встановлення через npm
npm install -g fx

# Або запуск без встановлення (npx кешує пакет)
curl -s https://api.github.com/users/torvalds | npx fx

# Базове інтерактивне використання
fx api-response.json
curl -s https://api.github.com/repos/jqlang/jq | fx

# У fx: клавіші зі стрілками для навігації, Enter для розгортання/згортання, / для пошуку
# Нижній рядок приймає JavaScript-вирази для живої фільтрації:
#   .name           → показати тільки поле "name"
#   .repos.slice(0,5) → перші 5 репозиторіїв
Bash
# fx також працює як неінтерактивний форматер (як jq . але з JS-синтаксисом)
# Передайте JavaScript-вираз як аргумент — без інтерактивного режиму
echo '{"users":[{"id":1,"name":"Sarah Chen"},{"id":2,"name":"Marcus Osei"}]}' \
  | fx '.users[0].name'
# Sarah Chen

# Ланцюжок із map для перетворення масивів
cat deployments.json | fx '.items.map(d => ({id: d.deploy_id, status: d.state}))'

Типові помилки

Чотири помилки, що трапляються знову і знову, коли розробники починають використовувати термінальні JSON-переглядачі — у кожної є чітке рішення, як тільки розумієш причину.

Використання jq . для перегляду великих відповідей (вивід прокручується за екран)

Проблема: jq . скидає весь вивід у stdout одразу. Для відповідей довших за висоту терміналу все, що вище останнього екрана, зникає — не можна прокрутити назад до початку або перейти до конкретного поля.

Рішення: Використовуйте пайп у jless для інтерактивної навігації, або jq -C . | less -R як запасний варіант. Обидва зберігають весь документ доступним незалежно від розміру.

Before · Bash
After · Bash
# 300-рядкова відповідь API — перші 280 рядків одразу прокручуються
curl -s https://api.github.com/users/torvalds | jq .
# Видно тільки кінець виводу — повернутися назад неможливо
# Повний документ доступний у jless — нічого не втрачається
curl -s https://api.github.com/users/torvalds | jless
# j/k для прокрутки, h/l для згортання/розгортання, / для пошуку
Задання JQ_COLORS з неправильною кількістю сегментів

Проблема: JQ_COLORS вимагає рівно сім значень, розділених двокрапками. Якщо рядок містить шість або вісім значень, jq мовчки ігнорує всю змінну і повертається до вбудованих налаштувань — без попереджень, без помилок, просто неправильні кольори.

Рішення: Порахуйте двокрапки: в коректному рядку JQ_COLORS рівно шість двокрапок і сім значень. Виведіть змінну та передайте в tr для підрахунку.

Before · Bash
After · Bash
# Тільки 6 значень — jq мовчки використовує налаштування за замовчуванням, без вказівки причини
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96"
echo '{"ok":true}' | jq .  # кольори не змінилися — помилка не показана
# Рівно 7 значень — 6 двокрапок
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"

# Перевірити кількість перед додаванням до профілю оболонки
echo "$JQ_COLORS" | tr -cd ':' | wc -c   # повинно вивести 6
Передача виводу jless або fx в іншу команду

Проблема: jless і fx виводять свій інтерактивний інтерфейс у термінал (TTY), а не в stdout. Передача їх у grep, tee або будь-яку іншу команду виробляє спотворені ANSI escape-коди або порожній вивід — інтерактивний вивід переглядача не призначений для обробки іншими програмами.

Рішення: Використовуйте jq з явним фільтром для програмного вилучення даних. Використовуйте jless і fx тільки як фінальний крок у пайплайні, коли людина читає вивід.

Before · Bash
After · Bash
# Вивід jless призначений для людей — передача його виробляє сміття
jless response.json | grep "request_id"
# Вивід: ANSI escape-коди та керуючі послідовності, не чистий текст
# Використовуйте jq для програмного вилучення — чисто і компонується
jq -r '.request_id' response.json | grep "req_"

# Використовуйте jless тільки як кінцеву точку в терміналі — нічого після нього
jless response.json
Використання jq -C без less -R (коди кольорів виводяться як буквальний текст)

Проблема: -C примусово вмикає ANSI-коди кольорів у потік виводу. Коли цей потік виводиться безпосередньо в термінал не в raw-режимі — або передається інструменту, що не інтерпретує ANSI — escape-послідовності з'являються як буквальні символи, наприклад ^[[1;34m, засмічуючи вивід.

Рішення: Завжди поєднуйте jq -C з less -R. Прапор -R переводить less у режим raw-input, змушуючи його інтерпретувати ANSI-послідовності як кольори замість виводу їх як текст.

Before · Bash
After · Bash
# -C без -R: escape-послідовності виводяться як сирий текст
jq -C . response.json | less
# Вивід: ^[[1;34m"status"^[[0m: ^[[0;32m"ok"^[[0m ...
# -C з -R: ANSI-коди інтерпретуються як справжні кольори
jq -C . response.json | less -R
# Вивід: кольоровий JSON, чистий та читабельний

jless vs jq vs bat vs fx — Порівняння інтерактивних переглядачів

Усі чотири інструменти відображають кольоровий JSON, але їхні інтерактивні можливості суттєво відрізняються. Обирайте виходячи з того, чи потрібна навігація деревом що згортається, пошук або підтримка миші — і чи є Node.js у вашому середовищі.

Інструмент
Інтерактивна навігація
Пошук
Згортання
Колір
Великі файли
Встановлення
jless
✅ vim-клавіші
✅ (/, n, N)
✅ (клавіші h/l)
✅ (вбудований)
✅ (потоковий)
brew / binary
jq -C | less -R
⚠️ (тільки less)
✅ (/ у less)
✅ (ANSI)
⚠️ (буферизує все)
тільки jq
fx
✅ клавіші зі стрілками
✅ (/)
⚠️ (завантаження JS)
npm install -g fx
bat
⚠️ (тільки пейджер)
❌ (у bat)
✅ (тема)
⚠️ (читає все)
brew / apt
jq . (plain)
❌ (прокручується)
✅ (тільки tty)
brew / apt

У більшості випадків: встановіть jless один раз і використовуйте як інтерактивний переглядач за замовчуванням. Тримайте jq -C . | less -R як запасний варіант для середовищ, де не можна встановлювати додаткові бінарники. Додайте fx якщо ваша команда працює передусім на Node.js і цінує навігацію мишею або живу JavaScript-фільтрацію.

Часті запитання

Як знайти конкретний ключ у JSON-файлі в терміналі?

У jless натисніть /, щоб відкрити рядок інкрементального пошуку, введіть ім'я ключа та натисніть Enter. Використовуйте n для переходу до наступного збігу та N для попереднього. Пошук чутливий до регістру за замовчуванням. У jq -C | less -R символ / запускає вбудований пошук less, який зіставляє сирий текст включно з ANSI-кодами кольорів — пошук у jless надійніший для структурованого JSON.

Bash
# Відкрити файл у jless, потім натиснути / для пошуку
jless api-response.json
# У jless: введіть /  →  "request_id"  →  Enter  →  n для наступного збігу

# Альтернатива через jq: витягти і вивести всі ключі, що збігаються
jq '.. | objects | with_entries(select(.key == "request_id"))' api-response.json

Як навігувати глибоко вкладеною JSON-структурою за допомогою клавіатури?

jless копіює навігацію vim: j/k для руху вгору/вниз, h для згортання вузла, l для розгортання. Натисніть H, щоб згорнути поточний вузол і всіх сусідів одразу — корисно для загального огляду перед зануренням у конкретну гілку. L розгортає все рекурсивно. Згорнувши все до верхнього рівня, розгортайте тільки потрібний шлях за допомогою l.

Bash
# Відкрити відповідь у jless
curl -s https://api.github.com/repos/jqlang/jq | jless
# У jless:
#   H            → згорнути всі ключі верхнього рівня
#   j/k          → перейти до потрібного ключа
#   l            → розгорнути тільки цю гілку
#   gg           → повернутися до кореня
#   G            → перейти до останнього елемента

Як зробити кольоровий вивід jq зручнішим для читання на темному терміналі?

Встановіть змінну оточення JQ_COLORS з кодами ANSI attribute;color для кожного типу JSON. Сім позицій у порядку: null, false, true, числа, рядки, масиви, об'єкти. Додайте export у ~/.bashrc або ~/.zshrc для застосування до всіх викликів jq. Жирний яскравий колір найкраще виглядає на темному фоні.

Bash
# Висококонтрастна тема для темних терміналів — додайте в ~/.bashrc або ~/.zshrc
export JQ_COLORS="1;30:0;91:0;92:0;93:0;32:1;96:1;96"
# null=сірий, false=яскраво-червоний, true=яскраво-зелений,
# numbers=яскраво-жовтий, strings=зелений, arrays/objects=яскраво-блакитний

# Тест без перезавантаження оболонки
echo '{"active":true,"errors":0,"tags":["api","v2"]}' | jq .

У чому різниця між jless і jq . для перегляду JSON?

jq . прокручує вивід повз верхню частину терміналу і не дає можливості повернутися назад — зручно для невеликих відповідей, але непрактично для всього понад 50 рядків. jless відображає весь документ в інтерактивному пейджері, де можна гортати, шукати, згортати вузли та навігувати з клавіатури без втрати контексту. Використовуйте jq . для швидкого перегляду невеликих даних; jless — коли потрібно досліджувати.

Bash
# Невеликі дані — jq . підходить
echo '{"status":"ok","version":"2.4.1"}' | jq .

# Велика або вкладена відповідь — краще jless
curl -s https://api.github.com/repos/jqlang/jq | jless
# → інтерактивне дерево, нічого не прокручується за екран

Як інтерактивно переглядати JSON з відповіді curl у терміналі?

Передайте curl безпосередньо в jless. Завжди використовуйте -s (silent), щоб індикатор прогресу curl не з'являвся у виводі. jless відкриє інтерактивний переглядач з повною відповіддю у вигляді дерева, що згортається. Якщо jless не встановлено, jq -C . | less -R забезпечить кольоровий пейджер як запасний варіант.

Bash
# Інтерактивне дослідження через jless
curl -s https://api.github.com/users/torvalds | jless

# Запасний варіант — кольоровий пейджер (без згортання, але з прокруткою і кольором)
curl -s https://api.github.com/users/torvalds | jq -C . | less -R

Чи можна переглядати кілька JSON-файлів поруч у терміналі?

jless відкриває по одному файлу за раз. Для порівняння поруч використовуйте термінальний мультиплексор: tmux split-window -h відкриває вертикальне розділення, потім запустіть jless у кожній панелі з різними файлами. Як альтернативу використовуйте браузерний інструмент JSON Diff для структурного порівняння двох документів.

Bash
# tmux поруч: розділити горизонтально, потім запустити jless у кожній панелі
tmux split-window -h
# Ліва панель:  jless response-v1.json
# Права панель: jless response-v2.json

# Або використовувати diff на нормалізованому через jq виводі
diff <(jq -S . response-v1.json) <(jq -S . response-v2.json)

Пов'язані інструменти

Інструмент JSON Pretty Print дає такий самий вигляд що згортається і кольоровий, як jless — прямо в браузері, без встановлення і без терміналу.

CM
Cora MatsumotoPlatform Engineer

Cora is a platform engineer who builds developer tooling and internal platforms, using Bash as the glue that connects components written in different languages and runtimes. She writes about cross-platform shell scripting, Bash utility functions, environment management, configuration templating, and the practical shell techniques that platform engineers use to build self-service tooling for development teams.

NO
Nadia OkonkwoТехнічний рецензент

Nadia is a site reliability engineer who lives in the terminal. She writes Bash scripts that process logs, transform data, and orchestrate infrastructure across fleets of servers. She is a heavy user of jq, awk, and sed and writes about shell one-liners, text processing pipelines, data serialisation from the command line, and the practical Bash patterns that SREs reach for when speed matters more than elegance.