A terminal JSON viewer with columnar navigation like JSON Hero
Project description
JSON TUI
A terminal JSON viewer with columnar navigation, inspired by JSON Hero.
Features
- Columnar Navigation: Navigate nested JSON structures in a multi-column view
- Keyboard-driven: Vim-style keybindings (hjkl) and arrow keys
- Syntax Highlighting: Color-coded values by type (strings, numbers, booleans, null)
- Live Preview: See full values in the preview panel
- Path Breadcrumbs: Always know where you are in the structure
- Stdin Support: Pipe JSON directly from curl or other commands
Installation
# Clone and install with uv
git clone <repo>
cd json_tui
uv sync
# Or install in development mode
uv pip install -e .
Usage
# View a JSON file
json-tui data.json
# Pipe from stdin
curl https://api.example.com/data | json-tui --stdin
# Or use echo
echo '{"hello": "world", "nested": {"key": "value"}}' | json-tui -s
Keybindings
| Key | Action |
|---|---|
↑ / k |
Move up in current column |
↓ / j |
Move down in current column |
← / h |
Focus previous column |
→ / l |
Focus next column / expand |
Enter |
Expand selected node |
Backspace / Esc |
Collapse / go back |
? |
Show help |
q |
Quit |
Development
# Run directly with uv
uv run json-tui sample.json
# Or activate the venv
source .venv/bin/activate
json-tui sample.json
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
json_tui-0.1.0.tar.gz
(12.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
json_tui-0.1.0-py3-none-any.whl
(10.8 kB
view details)
File details
Details for the file json_tui-0.1.0.tar.gz.
File metadata
- Download URL: json_tui-0.1.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d178662a45d3042b695baac092fa2f1bedf70296b4380d79edb2680fc0df19e
|
|
| MD5 |
f666b992016851f1ad821c96bcf22f64
|
|
| BLAKE2b-256 |
469e2ad9fd238e08cf0e6ec6f3dbbba909ef51206308312e15d5bb96fe00e683
|
File details
Details for the file json_tui-0.1.0-py3-none-any.whl.
File metadata
- Download URL: json_tui-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6535cf347e18d3936dbc025f0a590f35e261888884d172b12e183d2c4e944bbd
|
|
| MD5 |
0bc43f2805f0464ddc9dece3cefc2577
|
|
| BLAKE2b-256 |
b60dacb46f54593ab6846a8b27808730455d7716bf09167d13e93fe668ec994c
|