Einfache Anführungszeichen in JSON beheben
Strings und Objektschlüssel in JSON müssen doppelte Anführungszeichen verwenden. Werte mit einfachen Anführungszeichen sind häufig in JavaScript-Snippets, Python-ähnlicher Ausgabe und LLM-Antworten.
Warum einfache Anführungszeichen scheitern
Striktes JSON akzeptiert nur Strings mit doppelten Anführungszeichen. Ein Parser lehnt {'name':'Ada'} ab, auch wenn JavaScript-Entwicklerinnen die Form erkennen.
Fehlerhaftes Beispiel
{ 'name': 'Ada', 'active': true }
Korrigiertes JSON
{ "name": "Ada", "active": true }
Woher Text mit einfachen Anführungszeichen kommt
Pythons repr() und dict-Ausgabe, aus der Konsole kopierte JavaScript-Objektliterale, Ruby-Hash-Inspect und viele LLM-Antworten nutzen einfache Anführungszeichen. Keines davon ist JSON — es sind sprachspezifische Literale, die nur ähnlich aussehen.
Warum ein blindes Suchen-Ersetzen riskant ist
Ein blindes Replace von ' nach " zerstört Werte mit Apostrophen, z. B. { 'note': 'it\'s fine' }. Nach dem Ersetzen kollidiert das innere Apostroph mit dem neuen String-Delimiter. Ein sicherer Konverter muss den Quote-Kontext kennen und nur die Delimiter tauschen, nicht die inneren Zeichen.
Sichere Umwandlungsstrategie
Tokenisiere die Eingabe zuerst: lauf durch den Text, erkenne String-Grenzen am öffnenden Anführungszeichen und baue jeden Token mit doppelten Anführungszeichen neu zusammen — entferne überflüssige Escape-Sequenzen für Apostrophe und escape vorhandene doppelte Anführungszeichen. Das Repair-Tool dieser Seite erledigt das in einem Durchlauf.
Verwandte JSON-Syntaxfehler
JSON mit einfachen Anführungszeichen bringt oft weitere JavaScript-typische Sünden im selben Payload mit: Schlüssel ohne Anführungszeichen, Trailing Commas, Zeilen-Kommentare oder undefined. Nach dem Fixen der Anführungszeichen das Ergebnis validieren, um Restprobleme sichtbar zu machen.
FAQ
F: Sind Strings mit einfachen Anführungszeichen in JSON5 erlaubt? A: Ja, JSON5 erlaubt sie. F: Akzeptiert Pythons json.loads einfache Anführungszeichen? A: Nein — verwende ast.literal_eval, falls die Quelle wirklich ein Python-Literal ist; sonst die Anführungszeichen vorher tauschen. F: Brauchen JSON-Schlüssel auch doppelte Anführungszeichen? A: Ja — Schlüssel sind Strings, gleiche Regel.
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
- Unanführte Schlüssel 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