Unanführte Schlüssel in JSON beheben
Schlüssel wie name, active oder profile müssen in gültigem JSON in Anführungszeichen stehen, auch wenn sie wie normale Bezeichner aussehen.
Warum Schlüssel ohne Anführungszeichen scheitern
JavaScript erlaubt nackte Eigenschaftsnamen in Objektliteralen. JSON nicht; jeder Objekt-Schlüssel muss ein in doppelte Anführungszeichen gesetzter String sein.
Fehlerhaftes Beispiel
{ name: "Ada", active: true }
Korrigiertes JSON
{ "name": "Ada", "active": true }
Warum JavaScript-Identifier wie JSON-Schlüssel aussehen
In einem JavaScript-Objektliteral ist { name: "Ada" } legal, weil name ein gültiger Identifier ist. JSON hat diese Abkürzung entfernt, damit ein Parser für jeden Schlüssel nur eine Form — einen quotierten String — erkennen muss. So bleibt die Grammatik klein genug, um in jeder Sprache umsetzbar zu sein.
Schlüssel, die immer Anführungszeichen brauchen
Selbst wenn ein Parser nackte Identifier akzeptierte, brauchten viele Schlüssel weiterhin Anführungszeichen: reservierte Wörter wie return oder class, Namen mit Bindestrichen oder Punkten, Namen, die mit einer Ziffer beginnen, sowie Unicode-Namen mit Kombinationszeichen oder Emoji. Alle Schlüssel zu quotieren umgeht all diese Sonderfälle.
Wann Auto-Repair Schlüssel sicher quotieren kann
Das Repair-Tool setzt Anführungszeichen um nackte Identifier in Schlüsselposition — direkt nach { oder , und gefolgt von :. Bereits quotierte Schlüssel, Werte und Text in Strings bleiben unangetastet, deshalb ist das Hinzufügen sicher, auch wenn das Dokument gültige und ungültige Schlüssel mischt.
JSON5 und JSONC
JSON5 und JSONC (das Format, das VS Code für Settings nutzt) erlauben beide nackte Schlüssel und Kommentare. Sie sind in Ordnung für handgepflegte Konfiguration, aber nicht für Austausch — niemals JSON5 über eine API ausliefern, Standard-Clients lehnen es ab.
FAQ
F: Warum hat mein JSON Schlüssel ohne Anführungszeichen? A: Meistens, weil es aus einem JavaScript-Objektliteral kopiert oder von einer Template-Engine erzeugt wurde, die die Quotes vergessen hat. F: Darf ich Schlüssel in package.json unquoted lassen? A: Nein — package.json ist striktes JSON; nur tsconfig.json (JSONC) toleriert das.
JSON-Reparatur-Anleitungen
Themen-Hubs
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Konkrete Anleitungen
- Base64-Strings dekodieren (und JWT-Payloads)
- URL-Kodierung: Query-Parameter und Pfade prozentkodieren
- YAML zu JSON konvertieren (und Einrückungsfehler vermeiden)
- JSON zu CSV konvertieren: ein Array von Objekten abflachen
- JSON zu XML konvertieren: Wurzel, Attribute und Arrays
- JSON als String-Literal escapen (und doppelt kodiertes JSON dekodieren)
- Nachgestellte Kommas in JSON beheben
- Einfache Anführungszeichen in JSON beheben
- LLM-JSON-Ausgabe reparieren
- JSON-Parse-Fehler «Expected Property Name» beheben
- JSON vs. JavaScript-Objektliteral
- JSON vor API-Anfragen validieren
- JSON-Formatter vs. JSON Repair
- JSON-Fehler «Unexpected Token» beheben
- JSON-zu-JavaScript-Objekt-Konverter