Skip to main content

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

jsonedit 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:

  1. Select subtree
  2. Rewrite locally
  3. Commit structure
  4. Copy compressed node
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsonedit-0.1.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsonedit-0.1.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

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

Hashes for jsonedit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a4ea039986b04ff5668d8e7e200d1acc0d27c167cd0b7e9676ac82a1f84b885c
MD5 22722b5a3abf1d2153bfcb117b3561ac
BLAKE2b-256 3f339e914e4bb96fdf5ee5033337ed210f2da163ff632d1b5c40076b62841abe

See more details on using hashes here.

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

Hashes for jsonedit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dacc9f13c71f42c56e207f3bc320cf279dda7ea8873b1a0e77d56f16f1eb3dc7
MD5 45b79d0b0c0cfb0f7c18f76f09ee6ede
BLAKE2b-256 b169cc986e8ff63d10e9feec1609b16127c8f89f24836a67f2fa110ed22aa4d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page