/install json-utils
JSON Utils
Robuste JSON-Verarbeitung mit Pydantic-Validierung, JSON Schema Support und automatischer JSON-Reparatur.
Erweiterte Nutzung
Für WebSearch-Integration und Multi-Environment JSON-Verarbeitung siehe:
../scripting-utils/- Kombiniert JSON-Utils mit WebSearch für API-Dokumentation und Response-Validierung
Module
Installation
pip install pydantic json-repair jsonschema
Module
| Script | Zweck |
|---|---|
json_processor.py |
Kern-Funktionen: Parsing, Validierung, Tool-Calls |
json_schema_validator.py |
JSON Schema Draft 7/2020-12 Validierung |
json_batch_processor.py |
Batch-Verarbeitung & JSON-Lines (NDJSON) |
validate_tool_output.py |
CLI für Tool-Output Validierung |
Quick Start
from json_processor import parse_json, parse_and_validate, validate_tool_call
from pydantic import BaseModel
# Einfaches Parsing mit Auto-Reparatur
result = parse_json('{"name": "test", "value": 123,}') # trailing comma OK
# Mit Pydantic-Validierung
class ToolCall(BaseModel):
tool: str
arguments: dict = {}
llm_output = '{"tool": "search", "arguments": {"q": "hello"},}'
validated = parse_and_validate(llm_output, ToolCall)
Integration mit scripting-utils
# Für erweiterte JSON-Verarbeitung mit WebSearch:
from scripting_utils.json_websearch import WebSearchJSON
# Sucht API-Doku, validiert Responses, generiert Schemas
ws = WebSearchJSON()
result = ws.search_and_validate(
query="github api repos endpoint",
schema_path="github_schema.json"
)
Siehe ../scripting-utils/scripts/json_websearch.py für:
- API-Dokumentation via WebSearch
- Auto-Generierung von JSON-Schemas
- Batch-Validierung von API-Endpoints
- Cross-Platform JSON-Verarbeitung
Szenarien
1. LLM-Output verarbeiten
from json_processor import parse_json
# Verschiedene Input-Formate
parse_json('{"valid": true}') # Direkt OK
parse_json('```json\
{"valid": true}\
```') # Aus Code-Block extrahiert
parse_json('{"valid": true,}') # Trailing comma repariert
parse_json('Some text {"tool": "x"} more text') # JSON aus Text extrahiert
2. JSON Schema Validierung
from json_schema_validator import validate_with_jsonschema, SchemaBuilder
# Gegen Datei validieren
validate_with_jsonschema(data, "/path/to/schema.json")
# Dynamisches Schema erstellen
schema = SchemaBuilder.object(
properties={
"name": SchemaBuilder.string(min_length=1),
"age": SchemaBuilder.integer(minimum=0),
"tags": SchemaBuilder.array(SchemaBuilder.string())
},
required=["name"]
)
3. Batch-Verarbeitung
from json_batch_processor import process_file_batch, process_jsonl_file
from pathlib import Path
# Mehrere JSON-Dateien parallel
results = process_file_batch(
[Path("a.json"), Path("b.json"), Path("c.json")],
repair=True,
max_workers=4
)
# JSON-Lines (NDJSON) verarbeiten
results = process_jsonl_file(Path("data.jsonl"))
for result in results:
if result.success:
print(f"[{result.source}] OK: {result.data}")
else:
print(f"[{result.source}] ERROR: {result.error}")
4. JSON-Lines verarbeiten
# Konvertiere JSON-Array zu JSON-Lines
python json_batch_processor.py data/*.json --output output.jsonl
# JSON-Lines validieren
python json_batch_processor.py data.jsonl --jsonl --repair
5. Tool-Call validieren
from json_processor import validate_tool_call
result = validate_tool_call('{"tool": "weather", "arguments": {"city": "Berlin"}}')
# Mit Tool-Namensprüfung
try:
result = validate_tool_call(raw_json, tool_name="weather")
except JSONValidationError:
pass # Falscher Tool-Name
CLI-Nutzung
Einzelnes JSON:
# Datei parsen
python scripts/json_processor.py -f output.json --pretty
# String parsen mit Reparatur
python scripts/json_processor.py '{"test": 123,}' --repair --pretty
JSON Schema Validierung:
python scripts/json_schema_validator.py input.json -s schema.json
Batch-Verarbeitung:
# Mehrere Dateien
python scripts/json_batch_processor.py *.json --workers 8
# JSON-Lines
python scripts/json_batch_processor.py data.jsonl --jsonl --output results.jsonl
# Nur Summary
python scripts/json_batch_processor.py *.json --summary
API-Dokumentation
Siehe references/api_reference.md für vollständige API-Dokumentation.
Exception-Hierarchie
JSONProcessingError (Base)
├── JSONValidationError (Pydantic/Schema-Fehler)
│ └── SchemaValidationError (JSON Schema spezifisch)
└── JSONRepairError (Reparatur nicht möglich)
Häufige Fehler repariert
- ✅ Trailing commas:
{"a": 1,}→{"a": 1} - ✅ Markdown-Blocks:
\``json
{}
```→{}` - ✅ JavaScript-Kommentare:
{"a": 1} // comment→{"a": 1} - ✅ Unescaped newlines in Strings
- ✅ Einzelne statt doppelte Anführungszeichen
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install json-utils - After installation, invoke the skill by name or use
/json-utils - Provide required inputs per the skill's parameter spec and get structured output
What is JSON Utils?
Robust JSON parsing and validation with Pydantic schemas, JSON Schema validation, batch processing, and automatic JSON repair for LLM outputs. Use when Codex... It is an AI Agent Skill for Claude Code / OpenClaw, with 73 downloads so far.
How do I install JSON Utils?
Run "/install json-utils" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is JSON Utils free?
Yes, JSON Utils is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does JSON Utils support?
JSON Utils is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created JSON Utils?
It is built and maintained by KikiKari (@kikikari); the current version is v1.0.0.