jless - 명령줄 JSON Viewer 치트시트
jless는 터미널에서 JSON (및 YAML) 데이터를 읽는 빠른 읽기 전용 viewer입니다. raw 출력을 less 또는 jq로 파이프하고 괄호의 벽을 스크롤하는 대신, 구문 강조, collapsible 트리, Vim 같은 키로 네비게이션하고, 깊게 중첩된 구조를 폴드할 수 있습니다. API 응답, 구성 파일, 큰 JSON 문서를 빠르게 탐색하도록 목적 제작되었습니다.
설치
| 플랫폼 | 명령어 |
|---|
| Cargo (모든 플랫폼) | cargo install jless |
| macOS (Homebrew) | brew install jless |
| Arch Linux | sudo pacman -S jless |
| Nix | nix-env -iA nixpkgs.jless |
| Binary | GitHub Releases 페이지에서 다운로드 |
| 확인 | jless --version |
데이터 열기
| 명령어 | 설명 |
|---|
jless data.json | JSON 파일 열기 |
| `cat data.json | jless` |
| `curl -s URL | jless` |
jless --yaml config.yaml | YAML 파일 열기 |
jless --mode line data.json | line 모드에서 시작 (raw-ish 뷰) |
jless --help | 전체 옵션 목록 |
이동
| 키 | 작업 |
|---|
j / k | 아래 / 위 |
h / l | Collapse / expand (또는 부모/자식으로 이동) |
g / G | 위/아래로 이동 |
Ctrl+f / Ctrl+b | 페이지 아래 / 위 |
Ctrl+d / Ctrl+u | 반 페이지 아래 / 위 |
J / K | 다음/이전 sibling으로 이동 |
Enter | 현재 노드에서 expand/collapse 토글 |
폴딩 & 뷰
| 키 | 작업 |
|---|
Space | 현재 노드 collapse / expand |
c | 모든 sibling collapse |
e | 모든 자식 재귀적으로 expand |
E | 모든 것 expand |
C | 깊이 있게 collapse |
Tab (모드) | 데이터 모드와 line 모드 사이 토글 |
% | 일치하는 괄호로 점프 |
검색
| 키 | 작업 |
|---|
/pattern | 전진 검색 |
?pattern | 후진 검색 |
n / N | 다음 / 이전 일치 |
* | 현재 키 검색 |
| Search is regex | 패턴은 정규 표현식 지원 |
경로 & 값 작업
| 키 | 작업 |
|---|
y then y | Yank (값 복사) |
y then p | 현재 노드로의 경로 yank (예: .users[0].name) |
y then v | 값 yank |
y then k | 현재 키 yank |
. | 현재 노드의 전체 경로 표시 |
경로 yanking은 특히 유용합니다: 시각적으로 필드로 네비게이션한 후, 스크립트에 jq 스타일 경로를 붙여넣습니다.
일반적인 워크플로우
# 괄호 벽에 익사하지 않고 큰 API 응답 탐색
curl -s https://api.example.com/data | jless
# 구성을 검사하고 설정의 정확한 경로 복사
jless config.json # 네비게이션, yy/yp로 값 또는 경로 그래브
# JSON과 동일한 방식으로 YAML 탐색
jless --yaml docker-compose.yaml
# jq와 페어: 먼저 필터, 결과를 대화형으로 탐색
jq '.items' big.json | jless
jless vs 다른 JSON 도구
| 측면 | jless | jq | fx |
|---|
| 모드 | 대화형 viewer | 쿼리/변환 | 대화형 + JS |
| 편집/변환 | 아니오 (읽기 전용) | 예 | 예 |
| Folding tree UI | 예 | 아니오 | 예 |
| Path yank | 예 | N/A | 예 |
| 최적 | 탐색/검사 | 스크립팅 변환 | 탐색 + 변환 |
jless는 읽기 전용입니다. 필터링 및 변환을 위해 먼저 jq를 통해 파이프한 후, jless에서 결과를 탐색합니다.
리소스