JSON5 in JSON umwandeln und prüfen
JSON5 mit Kommentaren, einfachen Anführungszeichen oder Komma am Ende prüfen und in striktes JSON umwandeln
Ihre Daten bleiben bei Ihnen. Die Umwandlung läuft im Browser; nichts wird an einen Server gesendet.
Hat dieses Werkzeug geholfen?
Danke, Ihre Rückmeldung ist angekommen.
So funktioniert es
Eine tsconfig.json, die settings.json von VS Code oder eine Babel-Konfiguration enthält oft Kommentarzeilen, einfache Anführungszeichen und ein Komma nach dem letzten Eintrag. Im eigenen Programm funktionieren diese Dateien, doch ein Werkzeug, eine API oder JSON.parse, die striktes JSON erwarten, lehnen sie mit „Unexpected token“ ab. Fügen Sie den Text links ein. Das Werkzeug liest ihn nach den JSON5-Regeln und schreibt rechts striktes JSON: Schlüssel ohne Anführungszeichen (target:) bekommen doppelte Anführungszeichen, Zeichenketten in einfachen Anführungszeichen wie 'ES2020' wechseln zu doppelten, Kommas am Ende verschwinden, Hexadezimalzahlen wie 0x10 werden zu 16, Kommentare mit // und /* */ fallen weg. Die Ergebniszeile nennt die Größe in Byte und wie viele Kommentare entfernt wurden. Ist der Text auch als JSON5 ungültig, etwa wegen eines offenen Anführungszeichens, wird nichts umgewandelt; Sie sehen Zeile und Spalte des Fehlers. JSON kennt weder Infinity noch NaN; solche Werte werden als null geschrieben und in der Ergebniszeile eigens gemeldet.
Dieses Werkzeug ist auch als json5 in json umwandeln, json5 to json, json5 validator, json kommentare entfernen, jsonc in json, json mit kommentaren pruefen bekannt.
Was ist JSON5?
JSON5 ist eine Erweiterung von JSON, die das Schreiben von Hand erleichtert und sich an der Objektschreibweise von JavaScript orientiert. Anders als striktes JSON erlaubt es Kommentare mit // und /* */, Zeichenketten in einfachen Anführungszeichen, Schlüssel ohne Anführungszeichen, ein Komma nach dem letzten Eintrag, Hexadezimalzahlen mit 0x sowie die Werte Infinity und NaN. Babel und einige Build-Werkzeuge lesen JSON5-Konfigurationen, JSON.parse im Browser dagegen nicht.
Was ist Striktes JSON?
Striktes JSON folgt genau dem Standard RFC 8259: Schlüssel und Zeichenketten stehen nur in doppelten Anführungszeichen, es gibt keine Kommentare, kein Komma nach dem letzten Eintrag, Zahlen sind dezimal. Die JSON-Bibliothek jeder Programmiersprache und jede API liest diese Form. Wer eine Konfigurationsdatei vor der Weitergabe in striktes JSON umwandelt, vermeidet Fehler vom Typ „Unexpected token“.
Was ist der Unterschied zwischen JSON5 und JSON?
JSON ist ein strenges Format für den Datenaustausch: jeder Schlüssel in doppelten Anführungszeichen, keine Kommentare, kein Komma am Ende. JSON5 behält dasselbe Datenmodell, lockert aber die Schreibregeln: Kommentare, einfache Anführungszeichen, Schlüssel ohne Anführungszeichen, Kommas am Ende und Hexadezimalzahlen sind erlaubt. Jedes JSON-Dokument ist gültiges JSON5, umgekehrt nicht. Darum nutzt man JSON5 für von Menschen gepflegte Konfigurationen und JSON für den Datenaustausch zwischen Programmen.
Warum fehlen meine Kommentare in der Ausgabe?
Striktes JSON kann keine Kommentare enthalten; der Standard lässt sie bewusst weg. Beim Umwandeln von JSON5 in JSON gehen Notizen mit // und /* */ deshalb zwangsläufig verloren. Das Werkzeug nennt, wie viele Kommentare es entfernt hat, damit Sie den Verlust bemerken.
Wenn Sie die Datei weiter von Hand pflegen, behalten Sie die ursprüngliche JSON5-Datei und geben die JSON-Ausgabe nur dorthin, wo striktes JSON verlangt ist (eine API-Anfrage, ein Datenbankfeld, ein Skript mit JSON.parse). Sollen Kommentare bleiben, ist YAML eine gute Wahl: Es hält Kommentare und dieselben Daten wie JSON.
Wann genügt JSON5, wann ist JSON Pflicht?
JSON5 und JSON mit Kommentaren (JSONC) sind für Konfigurationsdateien gedacht, die Menschen von Hand bearbeiten: Sie können Notizen schreiben und ein Komma am Ende stehen lassen, damit sich Zeilen leicht ergänzen oder löschen lassen. TypeScript, VS Code und Babel akzeptieren diese lockere Form in ihren eigenen Dateien.
Wandern Daten zwischen Programmen, ist striktes JSON Pflicht: JSON.parse im Browser, REST-APIs und die meisten Bibliotheken werten Kommentare oder einfache Anführungszeichen als Fehler. Diese Seite bringt Text von der ersten in die zweite Welt; für striktes JSON, das nur neu eingerückt werden soll, passt das Werkzeug JSON formatieren besser.
- tsconfig, VS Code, Babel-Konfiguration → darf JSON5 / JSONC bleiben
- API-Anfrage, JSON.parse, Datenbank → striktes JSON (Ausgabe dieser Seite)
- Schon striktes JSON, nur Einrückung → JSON formatieren
Häufige Fragen
Wie wandle ich JSON mit Kommentaren in normales JSON um?
Fügen Sie den Text links auf dieser Seite ein. Kommentare mit // und /* */ werden entfernt, einfache Anführungszeichen zu doppelten, Kommas am Ende gelöscht, und rechts erscheint striktes JSON. Sie können es kopieren oder als .json-Datei herunterladen.
Sind JSON5 und JSONC dasselbe?
Ähnlich, aber nicht gleich. JSONC, wie VS Code es nutzt, erlaubt nur Kommentare und stellenweise ein Komma am Ende. JSON5 geht weiter: Auch einfache Anführungszeichen, Schlüssel ohne Anführungszeichen, Hexadezimalzahlen und mehrzeilige Zeichenketten sind erlaubt. Jede JSONC-Datei ist gültiges JSON5, das Werkzeug liest also beides.
Was passiert mit Infinity- oder NaN-Werten?
JSON kennt diese Werte nicht; JSON.stringify schreibt sie als null. Das Werkzeug tut das nicht stillschweigend: Die Ergebniszeile nennt, wie viele Werte zu null wurden. Müssen Sie sie behalten, speichern Sie sie als Text („Infinity“).
Werden meine Daten an einen Server geschickt?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser; die eingefügte Konfigurationsdatei oder die Daten verlassen diese Seite nicht und werden nirgends gespeichert.