A user-friendly tool to view, analyze, and interact with JSON and JSONL data.
Project description
freesimplejson 🚀
A user-friendly tool to view, analyze, and interact with JSON and JSONL data.
freesimplejson provides an intuitive graphical interface built with FreeSimpleGUI to make JSON exploration seamless. It features a side-by-side view for raw JSON input and a structured tree display, along with powerful filtering capabilities using JSONPath.
✨ Key Features
- Dual Pane Interface:
- Left Pane: Input single JSON objects or multiple JSON objects in JSONL format (one JSON object per line).
- Right Pane: Interactive tree view of the parsed JSON, clearly showing keys, values, levels, and hierarchy.
- JSONL Support:
- Handles JSONL files or input.
- Displays the selected JSONL row in the tree view.
- Efficiently loads large JSONL files (initially showing a subset if very large - feature mentioned in functions.md, implementation details may vary).
- Interactive Tree View:
- Expand and collapse nodes to explore complex JSON structures.
- Clear distinction between keys and values.
- JSONPath Filtering:
- Filter the JSON data displayed in the tree view using JSONPath expressions for precise data extraction.
- Quick help for JSONPath syntax.
- Pretty Print:
- Format the JSON in the input pane with a "Pretty JSON" button.
- Status Bar: Provides feedback on operations and errors.
📸 Screenshots
Placeholder: Add screenshots of your application here! Showcasing the UI, tree view, and filtering in action would be great.
Example:

🛠️ Installation
-
Clone the repository (or download the source):
git clone https://github.com/fxyzbtc/freesimplejson.git cd pysimplejson
-
Ensure you have Python 3.12+ installed.
-
Install dependencies: The project uses
uvfor package management (as indicated byuv.lock). If you haveuvinstalled:uv pip install -r requirements.txt
(You might need to generate
requirements.txtfrompyproject.tomlfirst if it's not present:uv pip freeze > requirements.txtoruv pip compile pyproject.toml -o requirements.txt)Alternatively, using
pipwithpyproject.toml:pip install .
This will install
pysimplejsonand its dependencies:freesimplegui>=5.2.0.post1jsonpath-ng>=1.7.0
🚀 Usage
To run the freesimplejson application:
python freesimplejson/main.py
Once the application starts:
- Paste your JSON or JSONL content into the "JSON Input" text area on the left.
- The JSON tree view on the right will automatically update.
- If using JSONL, click on a line in the input (or have a mechanism to select a line) to see it in the tree view.
- Use the "JSONPath Filter" input and "Apply Filter" button to query the displayed JSON.
- Use "Expand All" / "Collapse All" for the tree view as needed.
- Use "Pretty JSON" to format the input in the left pane.
🧩 Dependencies
- FreeSimpleGUI: For the graphical user interface.
- jsonpath-ng: For JSONPath filtering capabilities.
🤝 Contributing
Contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request.
Please make sure to update tests as appropriate.
📜 License
This project is licensed under the MIT License - see the LICENSE.md file for details (assuming you will add one).
Placeholder: Create a LICENSE.md file with the MIT License text, or choose another license.
Generated with ❤️ by an AI assistant and your project details.
Remember to replace placeholders like yourusername and add actual screenshots and a license file.
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 pysimplejson-0.1.3.tar.gz.
File metadata
- Download URL: pysimplejson-0.1.3.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbcb51f3c2ebfd8a33c64d843ce59fbf48d5550deb0a9616af58b37799fd7033
|
|
| MD5 |
93016504cf39e1f22853fc06daf0cb66
|
|
| BLAKE2b-256 |
e734bc95b372bd107d8a0b76ce741c47ee43ea7cfb5214fdd4dad1cad679a70e
|
File details
Details for the file pysimplejson-0.1.3-py3-none-any.whl.
File metadata
- Download URL: pysimplejson-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c649848357c65e42ab2be58fcfeb75f6d54d56b0e9fb767092cfbe1ac95538f0
|
|
| MD5 |
e0632112ba0f35ab2ef83aef07448a14
|
|
| BLAKE2b-256 |
bbecbe176f6f48a917b038f370ad393c48d28c0863a59530168cecf3fbbddc85
|