json-toolkit
Swiss-army knife for JSON files. Pretty-print, validate, minify, sort keys, and query with dot-notation paths. Zero dependencies.
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install clawskills:clawskills~claudiodrusus-skill-3cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Aclawskills~claudiodrusus-skill-3/file -o claudiodrusus-skill-3.md# JSON Toolkit A zero-dependency Python utility for working with JSON data. Validates, formats, minifies, queries, and inspects JSON files — all with Python's standard library. ## Features - **Pretty-print** with configurable indentation (2, 4, or any number of spaces) - **Minify** JSON to reduce file size for APIs and storage - **Validate** JSON and get structural stats (type, key count, size) - **Query** nested data with dot-notation paths including array indices - **Sort keys** alphabetically for deterministic output and easier diffs - **Stdin support** for use in shell pipelines with other tools ## Usage Examples Pretty-print a JSON file: ```bash python main.py data.json ``` Validate without output: ```bash python main.py config.json --validate # ✓ Valid JSON # Type: object (12 keys) # Size: 4832 bytes ``` Query a nested value: ```bash python main.py users.json --query data.users.0.name # "Alice" ``` Minify for production: ```bash python main.py config.json --minify -o config.min.json ``` Sort keys for consistent diffs: ```bash python main.py package.json --sort-keys -o package-sorted.json ``` Pipe from curl: ```bash curl -s https://api.example.com/data | python main.py - --query results.0 ``` ## Query Syntax Use dot notation to navigate nested structures. Array indices are numbers: - `name` — top-level key - `data.users` — nested object key - `data.users.0` — first element of an array - `data.users.0.email` — field of the first array element - `config.servers.2.host` — deeply nested value ## Command Line Options - `input` — JSON file path, or `-` for stdin - `-o, --output` — Output file (defaults to stdout) - `--indent N` — Indentation spaces (default: 2) - `--minify` — Output minified JSON (no whitespace) - `--query PATH` / `-q PATH` — Extract a value at the given dot-notation path - `--validate` — Only validate and print stats, no output - `--sort-keys` — Sort object keys alphabetically - `--json` — (implicit) Output is always valid JSON