Python tools for JSONC and JSON5 (aka. JSON for humans)
This package provider parsing and serialization (with style preservation) as well as linting, formatting and cli tools for JSON-derived syntaxes.
Add json4humans
as a dependency to your project:
# pip
pip install json4humans
# pipenv
pipenv install json4humans
# PDM
pdm add json4humans
Then import the proper module and use it like you would with the builtin json
module:
from pathlib import Path
from json4humans import json
my_file = Path(__file__).parent / "my_file.json"
# Load data
with my_file.open() as f:
data = json.load(f)
# Edit
data["attr"] = "value"
# Save with style preservation
with my_file.open("w") as out:
json.dump(out, data)
- Manipulate all supported format with the exact same API. Currently supported:
- Parsed data supports native types comparison while preserving style
- Support serialization for both native types and provided
JSONType
- Supports formatting
- Supports linting
- All features availables as a standalone cli
- Support
jq
-like queries
Documentation is available at https://json4humans.rtfd.io
Read the dedicated contributing guidelines.