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.
Metadata
Release files for pysimplejson 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pysimplejson-0.1.3.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pysimplejson-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / pysimplejson-0.1.3.tar.gz
| Download URL | pysimplejson-0.1.3.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbcb51f3c2ebfd8a33c64d843ce59fbf48d5550deb0a9616af58b37799fd7033
|
|
BLAKE2b-256 checksum How to use checksums |
e734bc95b372bd107d8a0b76ce741c47ee43ea7cfb5214fdd4dad1cad679a70e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.25
|
Release files / pysimplejson-0.1.3-py3-none-any.whl
| Download URL | pysimplejson-0.1.3-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c649848357c65e42ab2be58fcfeb75f6d54d56b0e9fb767092cfbe1ac95538f0
|
|
BLAKE2b-256 checksum How to use checksums |
bbecbe176f6f48a917b038f370ad393c48d28c0863a59530168cecf3fbbddc85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.25
|