JSON Formatter & Validator
JSON Formatter & Validator
Formatiere, validiere und minifiziere JSON-Daten direkt im Browser. Mit Syntax-Highlighting, Fehlererkennung, Baum-Ansicht und Live-Vorschau.
Datenschutz-Garantie: Alle JSON-Daten werden zu 100% lokal in deinem Browser verarbeitet. Es werden keine Daten an Server gesendet. Perfekt für API-Responses, Konfigurationsdateien oder sensible Daten.
Inhaltsverzeichnis
Schnellübersicht
- JSON Formatter: Formatieren mit 2/4 Spaces oder Tabs
- JSON Validator: Fehlererkennung mit Zeilenangabe
- JSON Minifier: Komprimierung auf minimale Größe
- Baum-Ansicht: Interaktive Struktur-Visualisierung
- Syntax-Highlighting: Farbliche Hervorhebung
- Theorie: JSON-Syntax und Datentypen
- Geschichte: Von JavaScript zu JSON
- FAQ: Häufige Fragen zu JSON
1. JSON Editor
Gib JSON ein oder lade ein Beispiel. Die Validierung erfolgt automatisch beim Tippen.
- Gib JSON ein, um die Struktur zu analysieren.
| Typ | Anzahl | Beispiel |
|---|---|---|
| Keine Daten | ||
- Tab: Fügt 2 Leerzeichen ein (statt Fokus zu wechseln)
- Strg/Cmd + K: Formatieren mit 2 Spaces
- Strg/Cmd + Shift + K: Minifizieren
- Strg/Cmd + S: Als Datei herunterladen
- Strg/Cmd + Shift + C: In Zwischenablage kopieren
2. JSON verstehen
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat. Es ist für Menschen lesbar und für Maschinen einfach zu parsen.
Die 6 JSON-Datentypen
JSON kennt nur 6 Datentypen:
- String:
"Hallo Welt" - Number:
42oder3.14 - Boolean:
true/false - Null:
null - Object:
{ "key": "value" } - Array:
[1, 2, 3]
Häufige JSON-Fehler
Typische Syntax-Fehler:
- Trailing Comma:
{"a":1,}❌ - Single Quotes:
{'a':'b'}❌ - Unquoted Keys:
{a:1}❌ - Kommentare:
// comment❌ - Undefined:
undefined❌ - NaN/Infinity:
NaN❌
Verschachtelte Strukturen
JSON kann beliebig verschachtelt werden:
- Objekte in Objekten:
{"user": {"name": "Max"}} - Arrays in Objekten:
{"tags": ["a", "b"]} - Arrays von Objekten:
[{"id": 1}, {"id": 2}] - Beliebig tief: Theoretisch unbegrenzt
Best Practices
So schreibst du gutes JSON:
- Doppelte Anführungszeichen für Strings und Keys
- 2 oder 4 Spaces für Einrückung
- Keine Kommentare (JSON erlaubt sie nicht)
- UTF-8 als Standard-Encoding
- Konsistente Benennung: camelCase oder snake_case
- Keine trailing commas
- REST-APIs: Standardformat für Datenaustausch im Web
- Konfigurationsdateien:
package.json,tsconfig.json - NoSQL-Datenbanken: MongoDB, CouchDB speichern JSON
- Datenvisualisierung: D3.js, Chart.js nutzen JSON
- Logs: Strukturierte Log-Ausgabe
- Frontend-Backend-Kommunikation: Fetch, AJAX, WebSockets
- JWT-Tokens: Payload ist Base64-codiertes JSON
- Keys: JSON erfordert doppelte Anführungszeichen, JS nicht
- Trailing Comma: In JS erlaubt, in JSON verboten
- Kommentare: In JS erlaubt, in JSON verboten
- Werte: In JSON nur die 6 Typen, in JS auch
undefined,NaN, Funktionen - Prototyp: JSON-Objekte haben keinen Prototyp
3. Geschichte von JSON
Von einer JavaScript-Abkürzung zum universellen Datenaustauschformat.
Erste Vorläufer
JavaScript-Objekte werden bereits als einfache Datenstrukturen verwendet. Netscape nutzt sie für Konfigurationen und Cookies. Die Idee ist geboren, aber noch nicht standardisiert.
JSON wird definiert
Douglas Crockford und Chip Morningstar definieren JSON als eigenständiges Format. Sie gründen json.org und veröffentlichen die erste Spezifikation. Die Idee: Einfach, lesbar, sprachunabhängig.
AJAX-Revolution
Mit dem Aufstieg von AJAX wird JSON zum bevorzugten Format für Web-APIs. Vorher wurde hauptsächlich XML verwendet. JSON ist leichter und schneller zu parsen.
MongoDB & NoSQL
MongoDB wird veröffentlicht und nutzt ein JSON-ähnliches Format (BSON) als native Speicherstruktur. JSON etabliert sich als Standard für NoSQL-Datenbanken.
ECMA-404 Standard
JSON wird als ECMA-404 offiziell standardisiert. 2017 folgt RFC 8259 (IETF). JSON ist damit formell ein internationaler Standard.
JSON-LD & Schema.org
JSON-LD (Linked Data) wird Standard für strukturierte Daten im Web. Suchmaschinen nutzen JSON-LD für Rich Snippets. Schema.org definiert Vokabulare.
Universeller Standard
JSON ist das dominierende Datenaustauschformat im Web. REST-APIs, Microservices, Serverless-Functions und KI-Modelle (z.B. OpenAI API) nutzen JSON. Alternativen wie YAML, TOML und Protocol Buffers ergänzen es für spezielle Anwendungsfälle.
4. FAQ – Häufige Fragen
Häufige Fragen zu JSON
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat, das für Menschen lesbar und für Maschinen einfach zu parsen ist.
Es basiert auf der JavaScript-Syntax, ist aber sprachunabhängig. Fast jede Programmiersprache hat JSON-Bibliotheken.
Vorteile:
- Einfache, klare Syntax
- Kompakt (weniger Overhead als XML)
- Universell unterstützt
- Menschenlesbar
Die häufigsten Gründe für ungültiges JSON:
- Trailing Comma:
{"a": 1,}– kein Komma vor}oder] - Einfache Anführungszeichen:
{'a': 'b'}– JSON erfordert doppelte - Unquoted Keys:
{a: 1}– Keys müssen in Anführungszeichen stehen - Kommentare:
// comment– JSON kennt keine Kommentare - Fehlende Kommas:
{"a": 1 "b": 2} - Falsche Klammern:
{"a": 1] - Special Values:
undefined,NaN,Infinitysind nicht erlaubt
Unser Tool zeigt dir die genaue Position des Fehlers an!
Beide sind Datenaustauschformate, unterscheiden sich aber deutlich:
| Aspekt | JSON | XML |
|---|---|---|
| Syntax | Kompakt | Ausführlich |
| Lesbarkeit | Leicht | Schwerer |
| Datentypen | 6 native Typen | Nur Text |
| Attribute | Nein | Ja |
| Schema | JSON Schema | XSD |
| Parsen | Schnell | Langsamer |
| Verwendung | REST, NoSQL | SOAP, Konfig. |
Fazit: JSON ist heute Standard für Web-APIs. XML wird noch in Unternehmen und bei SOAP eingesetzt.
Nein, der JSON-Standard erlaubt keine Kommentare. Aber es gibt Varianten:
- JSON5: Erlaubt Kommentare, trailing commas, single quotes
- JSONC: JSON with Comments – von VS Code für Konfigurationen verwendet
- HJSON: Human JSON – erlaubt Kommentare und mehr
Workaround: Kommentare als spezielle Keys speichern:
{
"_comment": "Diese Datei enthält Konfiguration",
"port": 8080
}
Theoretisch gibt es keine Größenbegrenzung im JSON-Standard. Praktisch gibt es aber Einschränkungen:
- Browser:
JSON.parse()kann mehrere hundert MB verarbeiten - Node.js: Standard-Limit ~512 MB (einstellbar)
- APIs: Oft 1–10 MB Request-Limit
- Empfehlung: Bis ~50 MB ist JSON praktikabel
Bei großen Daten:
- Streaming-Parser: Verarbeiten JSON stückweise
- JSON Lines: Ein Objekt pro Zeile (NDJSON)
- Alternative Formate: Protocol Buffers, MessagePack, Avro
JSON Schema ist ein Standard zur Beschreibung und Validierung von JSON-Dokumenten.
Beispiel:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": { "type": "string", "minLength": 1 },
"age": { "type": "integer", "minimum": 0 }
},
"required": ["name"]
}
Verwendung:
- API-Validierung: Request/Response prüfen
- Dokumentation: Struktur beschreiben
- Code-Generierung: Klassen aus Schema erzeugen
- Formulare: Automatisch generierte Eingabemasken
Tools: Ajv, jsonschema, OpenAPI (Swagger)
Verschiedene Formate für verschiedene Anwendungsfälle:
- YAML: Lesbarer, Kommentare erlaubt, für Konfigurationen (Docker, Kubernetes)
- TOML: Einfacher, für Konfigurationen (Rust, Python pyproject.toml)
- XML: Attribute, Schemas, für SOAP und Dokumente
- MessagePack: Binär, kompakter, schneller
- Protocol Buffers: Binär, schema-basiert, von Google
- Avro: Schema-basiert, für Big Data
- BSON: Binär, von MongoDB verwendet
- CSV: Tabellarisch, für einfache Daten
- JSON Lines (NDJSON): Ein Objekt pro Zeile, für Streaming
Faustregel: JSON für APIs und Web, YAML für Konfigurationen, Binärformate für Performance.
JSON selbst ist sicher, aber es gibt Fallstricke:
- JSON Injection: Ungeprüfte Daten in JSON einfügen kann zu Angriffen führen
- Prototype Pollution:
__proto__in JSON kann JavaScript-Objekte manipulieren - DoS: Extrem tief verschachtelte JSON kann Stack-Overflow verursachen
- Large Numbers: JavaScript verliert Präzision bei großen Integers
Sicherheits-Tipps:
- Validieren mit JSON Schema
- Limit für Tiefe setzen
- Keine eval()-Nutzung –
JSON.parse()verwenden - Encoding prüfen (UTF-8)
- Input sanitizen vor dem Parsen
JSON kann in viele Formate konvertiert werden:
- JSON → YAML:
yq, Online-Konverter - JSON → CSV:
jq, Pythonpandas - JSON → XML:
xml-js,fast-xml-parser - JSON → SQL:
json-to-sql, manuell - JSON → Excel: Python
pandas, Online-Tools - JSON → Base64: Für Binärdaten
Beispiel mit jq:
$ echo '{"name":"Max"}' | jq -r '.name'
Max
JSONP (JSON with Padding) ist eine veraltete Technik aus der Zeit vor CORS, um Cross-Origin-Daten zu laden.
- JSON: Reines Datenformat, kann nicht direkt per
<script>-Tag geladen werden - JSONP: JSON wird in eine JavaScript-Funktion gewrappt, die per
<script>-Tag geladen wird
Beispiel JSONP:
callback({"name": "Max"})
Heute nicht mehr empfohlen:
- CORS ist der moderne Standard
- Sicherheitsrisiken: JSONP führt beliebigen Code aus
- Nur noch in Legacy-Systemen anzutreffen
Zusammenfassung
Die wichtigsten Punkte
- JSON = JavaScript Object Notation, 2001 von Douglas Crockford definiert
- 6 Datentypen: String, Number, Boolean, Null, Object, Array
- Doppelte Anführungszeichen für Strings und Keys (Pflicht!)
- Keine Kommentare, keine trailing commas, kein undefined/NaN
- Universeller Standard für Web-APIs und Konfigurationen
- ECMA-404 und RFC 8259 sind die offiziellen Standards
- Validierung mit JSON Schema möglich
- Alternativen: YAML, TOML, MessagePack, Protocol Buffers
- Sicherheit: JSON.parse() statt eval(), Input validieren
- Unser Tool: Lokale Formatierung, Validierung und Visualisierung
Weitere Tools
Formatiere und validiere XML-Dokumente mit Syntax-Highlighting.
Zum ToolKonvertiere YAML in JSON und umgekehrt mit Live-Vorschau.
Zum ToolKonvertiere JSON-Arrays in CSV-Tabellen für Excel.
Zum ToolErweiterter JSON-Editor mit Baum-Navigation und CRUD-Operationen.
Zum Tool