Skip to content

rakima/edit_json_tool_desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON GUI Editor

A simple desktop GUI tool for viewing and editing JSON files without writing JSON by hand.

JSON GUI Editor screenshot

The main window shows the tree view, property editor, and JSON text tab in one place.

A sample file for trying the UI is available at samples/local/sample.json.

日本語版 README

Features

  • Create, open, save, and save as JSON files
  • Browse objects and arrays in a tree view
  • Edit the selected node with a property panel
  • Switch the UI language between English and Japanese
  • View path, type, key, parent type, index, and value for the selected node
  • Change primitive values and node types from GUI controls
  • Validate, format, and minify JSON
  • Add object keys and array items
  • Rename object keys from the property panel, delete selected values, and copy paths
  • Duplicate selected nodes with deep copy behavior
  • Reorder array items by dragging them in the tree
  • Keep an advanced JSON text tab for direct edits when needed

Shortcuts

  • Ctrl+C: copy the selected node
  • Ctrl+V: paste the copied node
  • Ctrl+Z: undo
  • Ctrl+Y: redo
  • Del: delete the selected node
  • F2: start editing the last clicked tree column: key, type, or value

Copy and paste follows the JSON structure:

  • Object key/value nodes can only be pasted into objects.
  • Array item nodes can only be pasted into arrays.
  • Root data can only be pasted over the root.
  • Multiple copy is allowed only within the same object or the same array.

Requirements

  • Python 3.11 or later
  • Tkinter

There are no additional runtime dependencies. Tkinter is included with most standard Python distributions.

Usage

Run from source

git clone https://github.com/ipl091/edit_json_tool.git
cd edit_json_tool
python -m venv .venv
.venv\Scripts\Activate.ps1
python src/json_gui_editor.py

A sample JSON file is included at samples/local/sample.json for quick testing and screenshots.

Release notes

See RELEASE.md for a publication-ready summary of the initial public release.

Automated release workflow

GitHub Actions is configured to build a Windows executable and publish it to GitHub Releases when a tag matching v* is pushed.

Example:

git tag v1.0.0
git push origin v1.0.0

Tests

The test suite uses pytest.

python -m pip install pytest
python -m pytest

Roadmap

  • JSON Schema validation and guided editing
  • Better undo and redo support
  • Search and filtering
  • Lazy loading for large JSON files
  • Packaged desktop releases for Windows, macOS, and Linux

License

This project is released under the MIT License. See LICENSE.

About

Desktop GUI tool for viewing and editing JSON files with a tree view and property editor.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages