Zum Inhalt springen
BeispielWerk
English

JSON Beispiele: gültig und ungültig zum Testen

JSON ist ein textbasiertes Datenformat aus Objekten, Arrays, Zeichenketten, Zahlen, Wahrheitswerten und null. Die Snippets zeigen gültige Strukturen, Randfälle wie doppelte Schlüssel, große Zahlen oder 100 Ebenen Tiefe und typische Syntaxfehler; damit lässt sich prüfen, wie ein Parser mit Sonderfällen und Fehlern umgeht. Die ungültigen Beispiele sind absichtlich fehlerhaft.

46 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 26× Absichtlich ungültig.

  • JSON: Kunde mit verschachtelter Adresse

    {
      "kundennummer": "K-100234",
      "vorname": "Anna", …
  • JSON: leeres Objekt

    {}
  • JSON: leeres Array

    []
  • JSON: Array mit drei Objekten

    [
      {
        "id": 1, …
  • JSON: alle sechs Werttypen

    {
      "text": "Hallo",
      "zahl": 42.5, …
  • JSON: nur ein Wert (null)

    null

    Seit RFC 7159 (übernommen in RFC 8259) darf auch ein einzelner Wert die Wurzel sein; sehr alte Parser erwarten Objekt oder Array.

  • JSON: Unicode-Escapes inklusive Surrogatpaar

    {"umlaute": "\u00e4\u00f6\u00fc\u00df", "emoji": "😀", "euro": "\u20ac"}

    Ergibt äöüß, ein Emoji (Surrogatpaar) und das Euro-Zeichen.

  • JSON: Escape-Folgen in Zeichenketten

    {"zeilenumbruch": "a\nb", "tab": "a\tb", "anfuehrung": "sie sagte \"hallo\"", "backslash": "C:\\Temp", "slash": "a\/b"}
  • JSON: große Zahlen und Genauigkeit

    {"sicher": 9007199254740991, "unsicher": 9007199254740993, "gross": 12345678901234567890, "dezimal": 0.1, "exp": 1.5e300}

    JSON-Syntax kennt keine Grenze, JavaScript rechnet aber mit Double: 9007199254740993 wird zu ...992.

  • JSON: erlaubte Zahlenschreibweisen

    [0, -0, 1, -1, 0.5, 1e3, 1E-3, 2.5e+2, -12.75]
  • JSON: doppelter Schlüssel

    {"name": "erster", "name": "zweiter"}

    Syntaktisch gültig, aber nicht eindeutig: die meisten Parser nehmen den letzten Wert, manche melden einen Fehler.

  • JSON: leerer Schlüssel und Schlüssel mit Leerzeichen

    {"": "leer", " ": "ein Leerzeichen", "mit leerzeichen": 1, "ä": 2}
  • JSON: Objekt mit 20 Ebenen

    {"ebene1": {"ebene2": {"ebene3": {"ebene4": {"ebene5": {"ebene6": {"ebene7": {"ebene8": {"ebene9": {"ebene10": {"ebene11": {"ebene12": {"ebene13": {"ebene14": {"ebene15": {"ebene16": {"ebene17": {"ebene18": {"ebene19": {"ebene20": "ende"}}} …
  • JSON: Array mit 20 Ebenen

    [[[[[[[[[[[[[[[[[[[["ende"]]]]]]]]]]]]]]]]]]]]
  • JSON: Array mit 100 Ebenen

    [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[1]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]

    Manche Parser lehnen schon bei 64 oder 100 Ebenen ab (Rekursionsgrenze). Zum Testen von Tiefenlimits.

  • JSON: Zeichenkette mit 1000 Zeichen

    {"text":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx …
  • JSON: Datumsangaben in vier Schreibweisen

    {"iso": "2026-10-09", "iso_zeit": "2026-10-09T14:30:00+02:00", "unix": 1791549000, "deutsch": "09.10.2026"}
  • JSON: Betrag als Zahl und als Text

    {"betrag_text": "1234.50", "betrag_cent": 123450, "waehrung": "EUR"}

    Geld besser als Text oder in Cent führen: Dezimal-Gleitkommazahlen runden unsauber.

  • JSON: kompakt in einer Zeile

    {"kundennummer":"K-100234","vorname":"Anna","nachname":"Müller","email":"anna.mueller@example.com","aktiv":true,"rabatt":null,"adresse":{"strasse":"Musterstraße","hausnummer":"12","plz":"10115","ort":"Musterstadt"},"tags":["stammkunde","new …
  • Ungültiges JSON: Komma nach dem letzten Feld (Objekt)Absichtlich ungültig

    {
      "a": 1,
      "b": 2, …

    Trailing Comma: in JSON verboten, in JavaScript und JSON5 erlaubt.

  • Ungültiges JSON: Komma nach dem letzten Element (Array)Absichtlich ungültig

    [1, 2, 3,]
  • Ungültiges JSON: einfache AnführungszeichenAbsichtlich ungültig

    {'name': 'Anna'}

    JSON erlaubt nur doppelte Anführungszeichen.

  • Ungültiges JSON: Schlüssel ohne AnführungszeichenAbsichtlich ungültig

    {name: "Anna", alter: 30}

    So sieht ein JavaScript-Objekt-Literal aus, aber kein JSON.

  • Ungültiges JSON: KommentareAbsichtlich ungültig

    {
      // Name des Kunden
      "name": "Anna", /* Pflichtfeld */ …

    JSON kennt keine Kommentare (JSONC und JSON5 schon).

  • Ungültiges JSON: NaN und InfinityAbsichtlich ungültig

    {"wert": NaN, "unendlich": Infinity, "minus": -Infinity}

    NaN und Infinity gibt es in JSON nicht. Python json.dumps schreibt sie trotzdem, wenn nichts anderes eingestellt ist.

  • Ungültiges JSON: undefinedAbsichtlich ungültig

    {"wert": undefined}
  • Ungültiges JSON: Zahl mit führender NullAbsichtlich ungültig

    {"plz": 01067}

    PLZ mit führender Null gehören als Zeichenkette ins JSON.

  • Ungültiges JSON: HexadezimalzahlAbsichtlich ungültig

    {"farbe": 0xFF00AA}
  • Ungültiges JSON: Zahl mit PluszeichenAbsichtlich ungültig

    {"wert": +5}
  • Ungültiges JSON: Zahl mit Punkt am EndeAbsichtlich ungültig

    {"wert": 5.}
  • Ungültiges JSON: DezimalkommaAbsichtlich ungültig

    {"preis": 12,50}

    Deutsches Dezimalkomma: der Parser liest 12 und stolpert über die 50.

  • Ungültiges JSON: echter Zeilenumbruch in einer ZeichenketteAbsichtlich ungültig

    {"text": "Zeile 1
    Zeile 2"}

    Zeilenumbrüche müssen als \n maskiert werden.

  • Ungültiges JSON: echter Tabulator in einer ZeichenketteAbsichtlich ungültig

    {"text": "a	b"}
  • Ungültiges JSON: unbekannte Escape-FolgeAbsichtlich ungültig

    {"pfad": "C:\Users\test"}

    \U ist keine gültige Escape-Folge: Backslashes müssen verdoppelt werden.

  • Ungültiges JSON: unvollständiges Unicode-EscapeAbsichtlich ungültig

    {"zeichen": "\u12"}
  • Ungültiges JSON: abgeschnitten (Klammer fehlt)Absichtlich ungültig

    {"kunden": [{"id": 1}, {"id": 2}

    Typisch bei abgebrochenen Downloads oder zu kleinen Puffern.

  • Ungültiges JSON: Zeichenkette nicht geschlossenAbsichtlich ungültig

    {"name": "Anna
  • Ungültiges JSON: Komma zwischen Feldern fehltAbsichtlich ungültig

    {"a": 1 "b": 2}
  • Ungültiges JSON: Doppelpunkt fehltAbsichtlich ungültig

    {"a" 1}
  • Ungültiges JSON: zwei WurzelwerteAbsichtlich ungültig

    {"a": 1}{"b": 2}

    Zwei Objekte hintereinander sind kein JSON, aber gültiges JSON Lines, wenn sie in getrennten Zeilen stehen.

  • Ungültiges JSON: falsche schließende KlammerAbsichtlich ungültig

    {"a": [1, 2}
  • Ungültiges JSON: Zahl als SchlüsselAbsichtlich ungültig

    {1: "eins"}
  • Ungültiges JSON: Python-SchreibweiseAbsichtlich ungültig

    {'aktiv': True, 'wert': None}

    Aus Python-Dictionaries kopiert: True/None statt true/null, einfache Anführungszeichen.

  • Ungültiges JSON: nur TextAbsichtlich ungültig

    Das ist kein JSON
  • Ungültiges JSON: HTML statt JSON (Fehlerseite)Absichtlich ungültig

    <!DOCTYPE html>
    <html><body><h1>502 Bad Gateway</h1></body></html>

    Häufiger Fall: die API liefert eine HTML-Fehlerseite, der Client erwartet JSON ("Unexpected token <").

  • JSON: einzelnes Surrogat (formal gültig, Unicode ungültig)

    {"kaputt": "�"}

    Der Parser akzeptiert es, doch das Ergebnis ist kein gültiger Unicode-Text; UTF-8-Ausgabe schlägt oft fehl.

Weitere Themen in Datenformate & Snippets