JSON online validieren: Leitfaden fuer Entwickler mit praktischen Beispielen

8 Min. Lesezeit

Lernen Sie, JSON einfach zu validieren, formatieren und debuggen. Haeufige Fehler, Unterschiede zu XML, Best Practices und kostenloses Online-Tool.

Was ist JSON und warum muss man es validieren

JSON (JavaScript Object Notation) ist das am haeufigsten verwendete Datenaustauschformat in der modernen Webentwicklung. Praktisch alle REST-APIs liefern Daten im JSON-Format, Konfigurationsdateien wie package.json oder tsconfig.json verwenden dieses Format, und Datenbanken wie MongoDB speichern Dokumente im JSON-Format.

Das Problem ist, dass ein einziges falsch platziertes Zeichen (ein zusaetzliches Komma, ein fehlendes Anfuehrungszeichen, eine nicht geschlossene Klammer) das gesamte JSON ungueltig macht und Fehler in Ihrer Anwendung verursacht. Ungueltiges JSON in einer API-Antwort kann Ihr Frontend zum Absturz bringen. Eine tsconfig.json mit einem Syntaxfehler verhindert die TypeScript-Kompilierung.

JSON vor der Verwendung zu validieren erspart stundenlange Fehlersuche. Mit dem NexTools JSON-Validator koennen Sie beliebiges JSON einfuegen, Fehler mit der genauen Zeilennummer sehen und automatisch eine formatierte Ausgabe erhalten.

JSON-Grundsyntax: Regeln die Sie kennen muessen

JSON hat strenge Syntaxregeln. Das Verletzen einer davon erzeugt ungueltiges JSON:

  • Schluessel muessen in doppelten Anfuehrungszeichen stehen: {"name": "Ana"} ist gueltig. {name: "Ana"} ist es NICHT.
  • Strings verwenden doppelte, nie einfache Anfuehrungszeichen: "wert" ist gueltig. 'wert' ist es NICHT.
  • Keine abschliessenden Kommas: {"a": 1, "b": 2} ist gueltig. {"a": 1, "b": 2,} ist es NICHT.
  • Keine Kommentare: Weder // noch /* */ sind in JSON erlaubt.
  • Zahlen stehen nicht in Anfuehrungszeichen: {"alter": 25} ist gueltig. {"alter": "25"} funktioniert, aber der Wert ist ein String, keine Zahl.

Erlaubte Datentypen in JSON:

TypBeispielHinweise
String"hallo welt"Immer doppelte Anfuehrungszeichen
Number42, 3.14, -7Ganzzahlen oder Dezimalzahlen, ohne Anfuehrungszeichen
Booleantrue, falseKleingeschrieben, ohne Anfuehrungszeichen
NullnullKleingeschrieben, ohne Anfuehrungszeichen
Array[1, 2, 3]Kommagetrennte Werte
Object{"schluessel": "wert"}Schluessel-Wert-Paare

Die 10 haeufigsten JSON-Fehler

Diese Fehler begegnen Ihnen am haeufigsten bei der Arbeit mit JSON:

  1. Komma nach dem letzten Element:
    {"items": [1, 2, 3,]} — Das Komma nach der 3 ist ungueltig.
  2. Einfache statt doppelte Anfuehrungszeichen:
    {'name': 'Hans'} — Muss {"name": "Hans"} lauten.
  3. Schluessel ohne Anfuehrungszeichen:
    {alter: 30} — Muss {"alter": 30} lauten.
  4. Nicht-escapte Steuerzeichen:
    Tabulatoren und Zeilenumbrueche in Strings muessen als \t und \n geschrieben werden.
  5. Nicht-escapte Anfuehrungszeichen in Strings:
    {"text": "er sagte "hallo""} — Muss {"text": "er sagte \"hallo\""} lauten.
  6. Kommentare:
    JSON unterstuetzt keinerlei Kommentare.
  7. NaN, Infinity oder undefined:
    Diese JavaScript-Werte sind in JSON NICHT gueltig. Verwenden Sie stattdessen null.
  8. Hexadezimalwerte:
    {"farbe": 0xFF0000} ist nicht gueltig. Verwenden Sie {"farbe": "#FF0000"}.
  9. Gemischte Typen in typisierten Arrays:
    [1, "zwei", true] ist gueltiges JSON, aber viele APIs erwarten homogene Arrays.
  10. BOM (Byte Order Mark):
    Manche Editoren fuegen unsichtbare Bytes am Dateianfang hinzu, die das JSON ungueltig machen. Speichern Sie immer als UTF-8 ohne BOM.

All diese Fehler werden automatisch vom JSON-Validator erkannt, der Ihnen die genaue Zeile und Position jedes Fehlers anzeigt.

JSON formatieren und minifizieren

JSON kann auf zwei Arten dargestellt werden: formatiert (Pretty-Print) fuer die menschliche Lesbarkeit und minifiziert fuer effiziente Uebertragung.

Formatiertes JSON:

{
  "benutzer": {
    "name": "Maria",
    "alter": 28,
    "aktiv": true
  }
}

Minifiziertes JSON (gleiche Daten, weniger Bytes):

{"benutzer":{"name":"Maria","alter":28,"aktiv":true}}

Die minifizierte Version braucht weniger Platz (ideal fuer APIs und Speicherung), waehrend die formatierte Version viel leichter zu lesen und zu debuggen ist.

In JavaScript:

JSON.stringify(data, null, 2)  // formatiert mit 2 Leerzeichen
JSON.stringify(data)           // minifiziert

Zum Minifizieren grosser JSON-Dateien verwenden Sie den Code-Minifizierer, der JSON, CSS und JavaScript verarbeitet.

JSON vs XML: Wann was verwenden

Vor JSON war XML das dominierende Datenaustauschformat. Beide werden weiterhin verwendet, aber fuer unterschiedliche Zwecke:

EigenschaftJSONXML
LesbarkeitKompakterAusfuehrlicher
Groesse30-50 % kleinerGroesser
DatentypenString, Number, Boolean, Null, Array, ObjectAlles ist Text
KommentareNicht unterstuetztUnterstuetzt
SchemasJSON SchemaXSD, DTD
HauptverwendungREST-APIs, KonfigurationSOAP, Dokumente, RSS
ParsingNatives JSON.parse()Erfordert XML-Parser

Im Jahr 2026 dominiert JSON in der Webentwicklung, bei APIs und in mobilen Anwendungen. XML bleibt in Legacy-Unternehmenssystemen, RSS/Atom-Feeds und Dokumentformaten wie DOCX bestehen.

Werkzeuge fuer die taegliche Arbeit mit JSON

Neben der Validierung erleichtern diese ergaenzenden Werkzeuge die Arbeit:

  • JSON-Validator: Prueft die Syntax, zeigt Fehler mit Zeilennummer und formatiert automatisch.
  • Code-Minifizierer: Komprimiert JSON durch Entfernung von Leerzeichen und Zeilenumbruechen.
  • Base64-Encoder: Kodiert JSON in Base64 fuer die Uebertragung in URLs oder HTTP-Headern.
  • Textvergleicher: Vergleicht zwei JSON-Versionen um Unterschiede zu finden.

Im Browser:

  • JSON.parse(jsonString) — Konvertiert einen JSON-String in ein JavaScript-Objekt. Wirft einen Fehler bei ungueltigem JSON.
  • JSON.stringify(obj, null, 2) — Konvertiert ein Objekt in formatiertes JSON.

JSON Schema: Struktur validieren, nicht nur Syntax

Syntaxvalidierung prueft nur, ob das JSON wohlgeformt ist. In echten Anwendungen muessen Sie aber auch pruefen, ob die Daten die richtige Struktur haben.

Dafuer gibt es JSON Schema, einen Standard zur Beschreibung der Struktur von JSON-Dokumenten:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["name", "alter", "email"],
  "properties": {
    "name": { "type": "string", "minLength": 1 },
    "alter": { "type": "integer", "minimum": 0, "maximum": 150 },
    "email": { "type": "string", "format": "email" }
  }
}

Mit diesem Schema koennen Sie automatisch validieren, dass jedes Benutzer-JSON einen Namen (nicht-leerer String), ein Alter (Ganzzahl zwischen 0 und 150) und eine E-Mail (gueltiges Format) hat. Bibliotheken wie Ajv (JavaScript), jsonschema (Python) und Newtonsoft (.NET) implementieren JSON-Schema-Validierung.

Best Practices fuer JSON in Produktionsumgebungen

Diese Praktiken helfen Ihnen, haeufige Probleme in echten Projekten zu vermeiden:

  • Validieren Sie immer JSON aus externen Quellen: Jedes JSON von einer API, einer Benutzer-Datei oder einem Webhook sollte JSON.parse() in einem try-catch durchlaufen, bevor es verarbeitet wird.
  • Verwenden Sie camelCase fuer Schluessel: Das ist die Standardkonvention in JavaScript/TypeScript. userName statt user_name.
  • Vermeiden Sie mehr als 3-4 Verschachtelungsebenen: Tief verschachteltes JSON ist schwer zu lesen, zu traversieren und zu warten.
  • Speichern Sie keine sensiblen Daten in unverschluesseltem JSON: Tokens, Passwoerter und private Schluessel sollten nie in Klartext-JSON in Logs oder API-Antworten erscheinen.
  • Verwenden Sie null statt optionale Felder wegzulassen: {"zweitname": null} ist besser als das Feld wegzulassen.
  • Behandeln Sie Parse-Fehler elegant: Zeigen Sie dem Endbenutzer nicht den rohen JSON.parse-Fehler. Protokollieren Sie ihn intern und zeigen Sie eine benutzerfreundliche Nachricht an.

Probieren Sie dieses Tool:

Tool öffnen

Häufig gestellte Fragen

Warum zeigt mein JSON 'Unexpected token' beim Parsen

Der Fehler 'Unexpected token' bedeutet, dass JSON.parse ein unerwartetes Zeichen gefunden hat. Die haeufigsten Ursachen sind: einfache statt doppelte Anfuehrungszeichen, ein Komma nach dem letzten Element, Kommentare im JSON oder unsichtbare BOM-Zeichen am Dateianfang. Fuegen Sie Ihr JSON in einen Online-Validator ein, um genau zu sehen, wo der Fehler liegt.

Kann man Kommentare in einer JSON-Datei verwenden

Nein. Die JSON-Spezifikation erlaubt keinerlei Kommentare (weder // noch /* */). Wenn Sie JSON mit Kommentaren benoetigen, verwenden Sie alternative Formate wie JSONC (von VS Code in settings.json verwendet), JSON5 oder YAML.

Was ist der Unterschied zwischen JSON und einem JavaScript-Objekt

Ein JavaScript-Objekt kann Schluessel ohne Anfuehrungszeichen, Funktionen als Werte, undefined, Symbol und abschliessende Kommas haben. JSON ist restriktiver: Alle Schluessel muessen doppelte Anfuehrungszeichen haben, nur String, Number, Boolean, Null, Array und Object sind als Werte erlaubt, und weder abschliessende Kommas noch Kommentare sind zulaessig.

Wie viel JSON ist zu gross fuer den Browser

Die meisten modernen Browser koennen JSON bis zu 50-100 MB problemlos parsen. Darueber hinaus kann das Parsen den Haupt-Thread blockieren und die Oberflaeche einfrieren. Fuer sehr grosses JSON verwenden Sie Streaming-Parser wie JSONStream oder verarbeiten Sie die Daten serverseitig.

Wie kann ich JSON in CSV umwandeln oder umgekehrt

Fuer JSON zu CSV: Wenn das JSON ein Array von Objekten mit denselben Schluesseln ist, werden die Schluessel zu Spalten und jedes Objekt zu einer Zeile. Fuer CSV zu JSON: Jede Zeile wird zu einem Objekt mit den Headern als Schluessel. Sie koennen dies programmatisch mit JavaScript oder mit Online-Tools tun.

Ist JSON besser als YAML fuer Konfigurationsdateien

Das haengt vom Anwendungsfall ab. JSON ist strenger (weniger mehrdeutige Fehler), hat schnelleres Parsing und ist der Standard fuer APIs. YAML ist menschenlesbarer, unterstuetzt Kommentare und ist beliebt in DevOps (Docker Compose, GitHub Actions, Kubernetes). Fuer Konfigurationen, die von Menschen bearbeitet werden, ist YAML oft besser. Fuer Daten zwischen Maschinen ist JSON die Standardwahl.