Zurück zum Blog

JSON formatieren und validieren – so geht's

Um JSON zu formatieren, fügen Sie es in einen Formatierer ein, der Einrückungen und Zeilenumbrüche hinzufügt, sodass die Struktur leicht lesbar wird; um es zu validieren, schicken Sie es durch einen Parser, der die Syntax prüft und auf die genaue Stelle zeigt, an der es bricht. Formatieren (auch Beautifying oder Pretty-Printing genannt) und Validieren geschehen meist zusammen: Ein gutes Tool rückt gültiges JSON neu ein und teilt Ihnen bei fehlerhafter Eingabe genau mit, was nicht stimmt. Im Folgenden erfahren Sie, was jede Aktion tatsächlich bewirkt, wann Sie formatieren statt minifizieren sollten und wie Sie die Fehler lesen und beheben, die ein Parser ausgibt.

Formatieren, minifizieren, validieren: drei verschiedene Aufgaben

Diese drei Begriffe werden austauschbar verwendet, doch sie tun mit Ihren Daten Unterschiedliches.

  • Formatieren (Beautifying) fügt Einrückungen und Zeilenumbrüche hinzu, sodass verschachtelte Objekte und Arrays visuell ausgerichtet werden. Es ändert die Daten nicht – nur die Leerräume – und macht es weit einfacher, eine Konfigurationsdatei oder eine API-Antwort mit dem Auge zu überfliegen.
  • Minifizieren tut das Gegenteil: Es entfernt jedes nicht zwingend nötige Leerzeichen, jeden Tabulator und jeden Zeilenumbruch, damit die Nutzlast so klein wie möglich wird. Die Daten sind identisch, nur praktisch auf einer Zeile zusammengepackt.
  • Validieren prüft, ob der Text überhaupt gültiges JSON ist. Ein Validator analysiert die Eingabe und bestätigt entweder, dass sie wohlgeformt ist, oder meldet den ersten Syntaxfehler, auf den er stößt.

In der Praxis formatieren Sie, während Sie lesen und debuggen, und minifizieren kurz bevor Sie Daten über die Leitung senden oder speichern. Die Validierung untermauert beides – Sie können Text, der gar kein gültiges JSON ist, nicht zuverlässig formatieren oder minifizieren.

Wann formatieren vs. minifizieren

Greifen Sie zum Formatieren, sobald ein Mensch die Daten ansehen muss:

  • Eine API-Antwort beim Debuggen inspizieren.
  • Eine package.json, tsconfig.json oder eine beliebige Konfigurationsdatei überprüfen oder bearbeiten.
  • Zwei JSON-Dateien in der Versionsverwaltung vergleichen (diffen), wo eine konsistente Einrückung das Diff klein und aussagekräftig hält.
  • Einen dichten einzeiligen Datenklumpen aus einem Log einfügen und seine Struktur wirklich verstehen wollen.

Greifen Sie zum Minifizieren, wenn die Bytes zählen und kein Mensch mitliest:

  • JSON in einem HTTP-Antwort- oder Anfrage-Body verschicken, wo kleinere Nutzlasten schnellere Übertragungen bedeuten.
  • Konfiguration in eine Umgebungsvariable oder eine URL einbetten.
  • Viele Datensätze speichern, bei denen sich Leerräume über Tausende Zeilen summieren.

Eine nützliche Gewohnheit: Halten Sie Ihre Quelldateien zur Lesbarkeit formatiert und lassen Sie Ihren Build oder Server beim Ausliefern minifizieren. So bekommen Sie das Beste aus beidem – lesbar im Repository, kompakt auf der Leitung.

Die häufigsten JSON-Fehler (und wie man sie behebt)

JSON ist bewusst streng, und genau das macht es über alle Sprachen hinweg portabel. Dieselbe Strenge bringt Menschen ins Stolpern, vor allem alle, die das Schreiben von JavaScript-Objektliteralen gewohnt sind. Dies sind die Fehler, die immer wieder auftauchen:

  • Nachgestellte Kommas. Ein Komma nach dem letzten Element in einem Objekt oder Array – {"a": 1,} – ist ungültig. Entfernen Sie es. Das ist der mit Abstand häufigste Fehler, weil die meisten Programmiersprachen es erlauben.
  • Einfache statt doppelte Anführungszeichen. JSON verlangt doppelte Anführungszeichen für Schlüssel und für Zeichenkettenwerte. {'name': 'Ada'} muss zu {"name": "Ada"} werden.
  • Schlüssel ohne Anführungszeichen. Schlüssel sind immer Zeichenketten in Anführungszeichen. {name: "Ada"} ist ein JavaScript-Objekt, kein JSON; es muss {"name": "Ada"} heißen.
  • Fehlende Kommas. Jedes Element außer dem letzten braucht ein Komma, das es vom nächsten trennt. Zwei aufeinanderfolgende Werte ohne etwas dazwischen lassen sich nicht parsen.
  • Kommentare. JSON kennt keine Kommentarsyntax. Zeilen, die mit // beginnen oder in /* */ eingeschlossen sind, sind nicht erlaubt und müssen entfernt werden, bevor der Text valide ist.

Ein paar weitere, auf die Sie achten sollten: Zahlen dürfen keine führenden Nullen oder einen abschließenden Dezimalpunkt haben, Zeichenketten müssen Sonderzeichen wie \n und \" escapen, und die einzigen erlaubten Literale neben Zahlen und Zeichenketten sind true, false und null (kleingeschrieben, ohne Anführungszeichen).

So lesen Sie einen Parser-Fehler

Wenn die Validierung fehlschlägt, meldet der Parser meist eine Position – eine Zeile und Spalte oder einen Zeichenversatz. Lesen Sie diese Angabe wörtlich: Der Fehler wird beim ersten Zeichen gemeldet, mit dem der Parser nichts anfangen konnte, und das ist oft kurz nach dem eigentlichen Fehler. Beispielsweise wird ein fehlendes Komma häufig am Anfang des nächsten Schlüssels markiert, nicht an der Lücke, wo das Komma hätte stehen sollen. Springen Sie zur gemeldeten Stelle und betrachten Sie dann das Token unmittelbar davor. Sobald Sie den ersten Fehler behoben haben, validieren Sie erneut, denn ein Parser hält beim ersten Problem an, und dahinter können weitere lauern.

Erledigen Sie es privat in Ihrem Browser

Viele Online-JSON-Tools senden alles, was Sie einfügen, zur Verarbeitung an einen entfernten Server. Bei JSON sind das oft die denkbar ungeeignetsten Daten zum Hochladen, denn genau dort stecken API-Schlüssel, Zugriffstoken, interne Hostnamen, Kundendatensätze und andere Geheimnisse.

Andevs JSON-Formatierer vermeidet das vollständig. Er nutzt das browsereigene native JSON.parse und JSON.stringify, was bedeutet:

  • Ihre Daten werden nie hochgeladen. Alles läuft lokal auf Ihrem Gerät; nichts wird irgendwohin gesendet.
  • Er zeigt den genauen Parser-Fehler an. Ist die Eingabe ungültig, sehen Sie die konkrete Meldung und Position, sodass Sie direkt zum Problem gelangen.
  • Sie wählen die Einrückungsgröße. Formatieren Sie mit zwei Leerzeichen, vier Leerzeichen oder Tabulatoren, passend zum Stil Ihres Projekts – oder minifizieren Sie auf eine einzige Zeile.
  • Es geht sofort. Kein Hochladen und Warten; das Ergebnis erscheint so schnell, wie Sie einfügen können.

Weil er sich auf dieselbe JSON-Engine stützt, die Ihre Anwendungen bereits verwenden, entspricht die gemeldete Validierung genau dem Verhalten Ihres Codes, wenn er denselben String parst. Das macht ihn sicher im Umgang mit sensibler Konfiguration und API-Nutzlasten und zuverlässig als schnelle Plausibilitätsprüfung, bevor Sie ausliefern.

Für benachbarte Aufgaben treibt derselbe lokale Ansatz ohne Upload Andevs Base64-Encoder und -Decoder sowie dessen URL-Encoder und -Decoder an – beide praktisch, wenn JSON in einen Daten-URI, ein Token oder einen Query-String eingebettet wird.

Das Wichtigste in Kürze

  • Formatieren fügt Einrückungen zur Lesbarkeit hinzu; Minifizieren entfernt Leerräume für kleinere Nutzlasten; Validieren prüft die Syntax. Das sind drei getrennte Aufgaben.
  • Für Menschen formatieren, für die Leitung minifizieren – halten Sie Quelldateien lesbar und lassen Sie Ihren Build die Ausgabe komprimieren.
  • Die meisten Fehler sind Strenge-Fallen: nachgestellte Kommas, einfache Anführungszeichen, Schlüssel ohne Anführungszeichen, fehlende Kommas und Kommentare sind allesamt ungültiges JSON.
  • Lesen Sie Parser-Fehler an der gemeldeten Position und prüfen Sie dann das Token unmittelbar davor; beheben Sie einen Fehler und validieren Sie erneut, da der Parser beim ersten anhält.
  • Halten Sie es lokal. Ein browsernativer Formatierer lädt Ihre Daten nie hoch, was am meisten zählt bei den Geheimnissen, die in Konfigurations- und API-JSON stecken.

Müssen Sie gerade jetzt etwas JSON aufräumen oder prüfen? Öffnen Sie den kostenlosen, privaten JSON-Formatierer – ohne Uploads, ohne Anmeldung – oder durchstöbern Sie die vollständige Sammlung der Browser-Entwicklertools.