JSON-Validator & -Verschönerer

Validieren und verschönern Sie Ihren JSON-Inhalt mit unserem JSON-Validator und -Verschönerungstool für saubere und lesbare JSON-Daten.

5 von 2 Bewertungen
JSON-Validator & -Verschönerer

Der JSON-Validator & -Verschönerer ist ein kostenloses Tool, das JSON auf syntaktische Gültigkeit prüft und gültige Inhalte so formatiert, dass ihre Struktur leichter zu lesen ist.

Was bewirken JSON-Validierung und -Verschönerung?

Die JSON-Validierung prüft, ob die Eingabe der JSON-Grammatik entspricht. Die Verschönerung stellt gültige Objekte und Arrays mit einheitlichen Abständen und Einrückungen dar. Das ist hilfreich, wenn du Fehler in API-Antworten suchst, Konfigurationen vor der Bereitstellung prüfst oder kompakte Daten eines Drittanbieters lesen möchtest.

Die JSON-Syntax ist strenger als die eines JavaScript-Objektliterals. Eigenschaftsnamen müssen in doppelten Anführungszeichen stehen, für Zeichenketten sind einfache Anführungszeichen nicht zulässig und weder Objekte noch Arrays dürfen ein abschließendes Komma enthalten. Auch Kommentare, undefined, NaN und Infinity gehören nicht zur JSON-Spezifikation.

Dieses Tool verwendet serverseitig die PHP-Funktion json_decode. Deine Eingabe wird über HTTPS an den Server übertragen und nicht gespeichert. Sie verlässt jedoch dein Gerät. Entferne daher Passwörter, Zugriffstoken und personenbezogene Daten, falls die Richtlinien deiner Organisation das Senden solcher Informationen an einen externen Server nicht erlauben.

Wie validiere und verschönere ich JSON?

Füge den Inhalt in das Feld JSON ein und starte das Tool. Gib für ein aussagekräftiges Ergebnis einen vollständigen JSON-Wert ein, nicht nur einen Ausschnitt aus einem Objekt, den du beispielsweise aus einer Protokollzeile kopiert hast.

  1. Kopiere die unverarbeitete Antwort, den Konfigurationsblock oder einen anderen JSON-Wert ohne umgebende Konsolenbeschriftungen.
  2. Füge den Inhalt in das JSON-Feld ein. Behalte dabei Anführungszeichen und Escape-Zeichen unverändert bei.
  3. Starte die Validierung und prüfe entweder das formatierte Ergebnis oder den gemeldeten Fehler.
  4. Wenn die Validierung fehlschlägt, behebe zuerst den ersten erkennbaren Syntaxfehler und starte sie erneut. Ein einziges fehlendes Anführungszeichen kann dazu führen, dass mehrere nachfolgende Zeichen falsch interpretiert werden.
Das Tool JSON-Validator & -Verschönerer auf digily.link mit seinem Eingabeformular

Die vier zwischen JSON-Tokens zulässigen Leerraumzeichen, Leerzeichen (U+0020), Tabulator (U+0009), Zeilenvorschub (U+000A) und Wagenrücklauf (U+000D), sind bedeutungslos. Du kannst sie hinzufügen oder entfernen, ohne die Daten zu verändern. Leerraum innerhalb einer Zeichenkette in Anführungszeichen gehört dagegen zu den Daten und muss unverändert bleiben. Auch Satzzeichen innerhalb von Zeichenketten bleiben erhalten. Anführungszeichen, umgekehrte Schrägstriche und Steuerzeichen benötigen jedoch die passende Escape-Sequenz.

Wie ist das Validierungsergebnis zu verstehen?

Ein erfolgreiches Ergebnis bedeutet, dass PHP die Eingabe als JSON dekodieren konnte. Bei einem Fehler konnte der Parser sie nicht als einen vollständigen, gültigen JSON-Wert interpretieren. Die Verschönerung macht anschließend die Verschachtelung und die Grenzen gültiger Objekte und Arrays sichtbar.

Häufige Fehlerursachen sind:

  • ein abschließendes Komma vor } oder ];
  • ein Eigenschaftsname ohne Anführungszeichen, etwa {name: "Ada"};
  • Zeichenketten in einfachen Anführungszeichen;
  • ein fehlendes Komma zwischen Eigenschaften oder Array-Elementen;
  • ein nicht maskiertes doppeltes Anführungszeichen oder ein nicht maskierter umgekehrter Schrägstrich innerhalb einer Zeichenkette;
  • ein unvollständiges Objekt, Array oder eine unvollständige Zeichenkette;
  • eine ungültige UTF-8-Eingabe oder ein unmaskiertes Steuerzeichen innerhalb einer Zeichenkette;
  • ein ganzzahliger Teil mit unnötigen führenden Nullen, etwa 01 oder -01, oder Werte, die nicht zu JSON gehören, etwa NaN.

Ein leeres Feld ist kein gültiges JSON. Ein einzelner Wert wie 42, true, null oder "hello" ist dagegen gültiges JSON, obwohl es sich weder um ein Objekt noch um ein Array handelt. Sehr tief verschachtelte Inhalte können außerdem die Verschachtelungsgrenze des Decoders überschreiten.

Eine erfolgreiche Syntaxprüfung bestätigt nicht, dass die Daten einem API-Vertrag entsprechen. Ein Dokument kann gültiges JSON sein und dennoch eine Zeichenkette enthalten, wo eine Anwendung eine Zahl erwartet, eine erforderliche Eigenschaft auslassen oder ein unzulässiges Datumsformat verwenden. Prüfe solche Anforderungen mit JSON Schema oder auf Anwendungsebene.

Beispielergebnis des Tools JSON-Validator & -Verschönerer

Praktische JSON-Beispiele

Gültige kompakte Eingabe:

{"name":"Ada","active":true,"roles":["admin","editor"]}

Das verschönerte Ergebnis zeigt die Eigenschaften und Array-Elemente auf getrennten, eingerückten Ebenen. Die Werte bleiben dabei eine Zeichenkette, ein boolescher Wert beziehungsweise ein Array. Die Formatierung verändert nur die Darstellung, nicht die zugrunde liegenden Datentypen.

Ungültige Eingabe mit abschließendem Komma:

{"name":"Ada","active":true,}

Diese Eingabe schlägt fehl, weil JSON nach der letzten Eigenschaft kein Komma erlaubt. Entferne das Komma, damit das Objekt gültig wird.

Akzentzeichen und nicht lateinische Schriftzeichen können direkt in JSON-Zeichenketten stehen, sofern die Eingabe gültiges UTF-8 ist. So ist beispielsweise {"city":"Zürich","greeting":"こんにちは"} gültig. JSON-Escape-Notation wie \u00fc ist eine weitere gültige Darstellung bestimmter Unicode-Zeichen. Für Zeichen außerhalb der Basic Multilingual Plane sind allerdings Surrogatpaare erforderlich.

Wann lohnt es sich nicht, JSON zu verschönern?

Eine Verschönerung ist unnötig, wenn ausschließlich eine Maschine das JSON liest und weder eine manuelle Prüfung noch eine Kontrolle in der Versionsverwaltung vorgesehen ist. Zusätzliche Einrückungen und Zeilenumbrüche erhöhen die übertragene Datenmenge. Deshalb werden produktive Antworten üblicherweise in kompakter Form gesendet.

Auch die Minifizierung von bereits kompaktem JSON bringt wenig. Wiederholtes Minifizieren kann feste Eigenschaftsnamen oder Zeichenkettenwerte nicht weiter verkürzen. Eine Änderung dieser Werte würde die Daten verändern. Für auslieferbares JavaScript statt JSON-Daten ist der JS-Minifizierer besser geeignet.

Am nützlichsten ist die Verschönerung, wenn du JSON-Strukturen oder -Werte beim Debugging, bei Code-Reviews oder vor der Bereitstellung prüfst. Sie macht Unstimmigkeiten in der Verschachtelung sichtbar, erleichtert das Durchsehen großer Arrays und sorgt für übersichtlichere Diffs, wenn Konfigurationen in Git eingecheckt werden. Fehlerhaftes JSON repariert sie nicht automatisch. Ebenso wenig kann sie entscheiden, was mit einem mehrdeutigen Fragment gemeint war.

Häufig gestellte Fragen

Sind Kommentare in JSON erlaubt?

Nein. Standard-JSON kennt keine Kommentarsyntax. Deshalb führen // comment und /* comment */ dazu, dass die Validierung fehlschlägt. Wenn eine Konfigurationsdatei Kommentare benötigt, verwende ein Format, das Kommentare ausdrücklich unterstützt, oder entferne sie, bevor du den Inhalt an einen strikten JSON-Parser übergibst.

Werden doppelte Eigenschaftsnamen abgelehnt?

Nicht unbedingt. Laut JSON-Spezifikation sollten die Namen der Mitglieder innerhalb eines Objekts eindeutig sein. Parser behandeln doppelte Namen jedoch nicht zuverlässig als Syntaxfehler. Beim Dekodieren mit PHP bleibt üblicherweise der spätere Wert erhalten. Wenn jedes Vorkommen bewahrt werden muss, solltest du deshalb schon vor der Validierung nach Duplikaten suchen.

Kann ich eine JSON-Lines-Datei validieren?

Nicht als ein einziges JSON-Dokument. JSON Lines, auch NDJSON genannt, enthält in jeder Zeile einen separaten JSON-Wert. Ein normaler JSON-Parser erwartet dagegen genau einen Wert auf der obersten Ebene. Validiere jede Zeile einzeln oder wandle die Datensätze in ein einziges JSON-Array um.

Spielt die Reihenfolge von Objekteigenschaften eine Rolle?

Anwendungen sollten sich nicht auf die Reihenfolge der Eigenschaften eines JSON-Objekts verlassen. Arrays haben eine feste Reihenfolge, Objekte stellen dagegen Sammlungen benannter Mitglieder dar. Ein anderer Parser oder Serialisierer kann diese Mitglieder in einer anderen Reihenfolge ausgeben. Wenn die Abfolge eine Bedeutung hat, speichere die Werte in einem Array.

Warum ist eine JSON-Datei ungültig, obwohl sie korrekt aussieht?

Eine unsichtbare Byte Order Mark, fehlerhaftes UTF-8 oder ein nicht maskiertes Steuerzeichen kann dazu führen, dass scheinbar korrekter Text nicht validiert wird. Beim Kopieren aus einem Terminal können außerdem Präfixe wie Statusangaben oder Zeitstempel in die Eingabe gelangen. Untersuche die Rohbytes oder öffne die Datei in einem Editor, der Kodierungen und Steuerzeichen sichtbar machen kann.

Abschließende Prüfungen

Bevor du korrigiertes JSON bereitstellst, solltest du neben den sichtbaren Werten auch die Datentypen vergleichen, prüfen, ob die Escape-Sequenzen unverändert geblieben sind, und die verarbeitende Anwendung oder deren Schema-Validierung ausführen. Bewahre bei der Fehlersuche in Daten von Drittanbietern eine unveränderte Kopie der ursprünglichen Antwort auf, damit die Formatierung die Fehlerquelle nicht verschleiert.

Beliebte Werkzeuge