JSON Tree Editor
Project description
jsonedit
A structured document editor for composing meaning in JSON.
jsonedit is a tree-based editor designed for working with hierarchical ideas, not just JSON text. It treats JSON as a living document — something you assemble, reshape, and extract from — rather than a file you manually type.
It is especially well suited for LLM prompt construction, context curation, and structured knowledge editing.
Screenshot
What jsonedit is (and is not)
jsonedit is not a traditional programmer’s JSON editor.
It is a document compositor built around one core idea:
Edit meaning locally. Commit structure deliberately.
Instead of editing lines of text, you work directly with the document’s tree structure — selecting nodes, reshaping hierarchies, and exporting semantic fragments when needed.
Why it exists
Modern workflows — especially those involving LLMs — often look like this:
- assemble structured prompts
- rearrange examples or schemas
- experiment safely
- extract only the relevant subtree
- paste into an AI context window
- iterate
Traditional editors treat JSON as text.
jsonedit treats JSON as thought structure.
Core Concepts
🌲 Structure First
The primary editing unit is a node, not a line.
Common operations include:
- raise / lower items in hierarchy
- duplicate subtrees
- insert siblings
- rename keys
- delete with intelligent reselection
Navigation uses structural paths instead of line numbers.
✍️ Split-Brain Editing
Two coordinated views:
- Tree view → orientation and structure
- Text pane → focused semantic rewriting
You always know where you are structurally while editing what something means.
🧪 Safe Editing via Explicit Commit
Text edits remain sandboxed until you explicitly commit them.
This allows:
- experimentation without breaking structure
- temporary invalid JSON while thinking
- deliberate structural mutation
No accidental global edits.
📦 Export is a First-Class Action
jsonedit assumes you frequently want pieces of documents.
You can quickly copy:
- entire documents
- selected subtrees
- pretty or compact JSON
Ideal for moving structured context into LLM prompts.
🧠 JSON as a Living Document
Documents may include metadata and workspace information, encouraging long-lived structured artifacts rather than disposable config files.
Ideal Use Cases
jsonedit works best when JSON represents ideas, not just data.
✅ Excellent for
- LLM prompt composition
- Context packaging for AI systems
- Agent or tool configuration
- Structured writing and outlining
- Dataset annotation
- Knowledge assembly in hierarchical form
Typical workflow:
- Select subtree
- Rewrite locally
- Commit structure
- Copy compressed node
- Paste into LLM context
❌ Not Designed For
- General programming JSON editing
- Schema validation or linting
- Large machine-generated JSON files
- Collaborative merge workflows
- High-speed code typing environments
If you want VS Code for JSON — use VS Code.
jsonedit optimizes for clarity of structure, not typing speed.
Install
pip install jsonedit
Run
jsonedit
Open a file directly:
jsonedit <filepath>
Requirements
- Python
- Tkinter available in your Python installation
(jsonedit is a desktop GUI application.)
Philosophy
jsonedit is built on a few assumptions:
- JSON encodes ideas, not just data.
- Structure matters more than formatting.
- Users think in subtrees rather than lines.
- Editing should be deliberate and reversible.
- Exporting fragments is a primary activity.
License
CC0 1.0 Universal — public domain.
See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file jsonedit-0.1.0.tar.gz.
File metadata
- Download URL: jsonedit-0.1.0.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ea039986b04ff5668d8e7e200d1acc0d27c167cd0b7e9676ac82a1f84b885c
|
|
| MD5 |
22722b5a3abf1d2153bfcb117b3561ac
|
|
| BLAKE2b-256 |
3f339e914e4bb96fdf5ee5033337ed210f2da163ff632d1b5c40076b62841abe
|
File details
Details for the file jsonedit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jsonedit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dacc9f13c71f42c56e207f3bc320cf279dda7ea8873b1a0e77d56f16f1eb3dc7
|
|
| MD5 |
45b79d0b0c0cfb0f7c18f76f09ee6ede
|
|
| BLAKE2b-256 |
b169cc986e8ff63d10e9feec1609b16127c8f89f24836a67f2fa110ed22aa4d8
|