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.2.tar.gz (19.5 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.2-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file jsonedit-0.1.2.tar.gz.

File metadata

  • Download URL: jsonedit-0.1.2.tar.gz
  • Upload date:
  • Size: 19.5 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.2.tar.gz
Algorithm Hash digest
SHA256 4aff3007b0b701efd023e0bf3ae990ece32ddf2731f015e269223eb7072a1f10
MD5 99ee22d841e69ed14319ef5d611e4d4d
BLAKE2b-256 6567e260afac2aee59ac85c52b2bd93d7c209aa5d24ec33f4abe564382072517

See more details on using hashes here.

File details

Details for the file jsonedit-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: jsonedit-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca8e6135d14c080b89324c858421268bf90bf9fd0f803f1180216628f490687d
MD5 6f2211b52680d949492b695323533c4a
BLAKE2b-256 485d49fa72310f4c299a6da01961ea29d446f5886db2a59d151972495c597483

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