Was das Tool macht
JSON5 ist eine Erweiterung von JSON für Dateien, die von Hand geschrieben werden. Es erlaubt Kommentare, nachgestellte Kommas, Objektschlüssel ohne Anführungszeichen, Strings in einfachen Anführungszeichen und einige angenehmere Zahlenschreibweisen. Werkzeuge wie Babel, manche Bundler und viele Anwendungen akzeptieren JSON5 oder JSONC (JSON mit Kommentaren, wie es tsconfig.json und die VS-Code-Einstellungen verwenden) für ihre Konfiguration.
Viele Parser, APIs und Programmiersprachen akzeptieren jedoch nur striktes JSON. Dieser Konverter liest JSON5 oder JSONC und gibt Standard-JSON aus, das jeder JSON-Parser versteht: alle Schlüssel in doppelten Anführungszeichen, keine Kommentare, keine nachgestellten Kommas und Zahlen in Dezimalschreibweise.
So funktioniert es
- Fügen Sie Ihr JSON5 oder JSONC ein, laden Sie eine
.json5-,.jsonc- oder.json-Datei hoch oder klicken Sie auf Beispiel. - Wählen Sie die Einrückung: 2 oder 4 Leerzeichen oder Kompakt für eine einzige Zeile.
- Legen Sie fest, was mit
InfinityundNaNgeschieht: innullumwandeln, in Strings umwandeln oder einen Fehler anzeigen. - Kopieren oder laden Sie das JSON herunter.
Enthält die Eingabe einen Syntaxfehler, nennt die Meldung Zeile und Spalte, sodass Sie direkt dorthin springen können. Normales JSON ist auch gültiges JSON5, Sie können das Tool also ebenso nutzen, um zu prüfen, ob eine Datei sich parsen lässt, und sie neu einzurücken.
Beispiel
Diese JSON5-Konfiguration:
// Server settings
{
host: 'localhost',
port: 0x1F90, // 8080
ratio: .5,
tags: ['api', 'v2',],
}
wird zu diesem strikten JSON:
{
"host": "localhost",
"port": 8080,
"ratio": 0.5,
"tags": [
"api",
"v2"
]
}
Die Kommentare werden entfernt, Schlüssel und Strings erhalten doppelte Anführungszeichen, die Hexadezimalzahl und die Dezimalzahl ohne Vorkommastelle werden dezimal geschrieben, und die nachgestellten Kommas verschwinden.
Was umgewandelt wird
- Zeilenkommentare
//und Blockkommentare/* */werden entfernt. - Schlüssel ohne Anführungszeichen wie
portund Strings in einfachen Anführungszeichen wie'localhost'erhalten doppelte Anführungszeichen. - Strings, die mit einem Backslash am Zeilenende fortgesetzt werden, werden zu einem String zusammengefügt.
- Hexadezimalzahlen (
0xFF), führende oder abschließende Dezimalpunkte (.5,5.) und explizite Pluszeichen (+3) werden zu normalen Dezimalzahlen. - Nachgestellte Kommas in Objekten und Arrays werden entfernt.
- Kommt ein Schlüssel doppelt vor, gilt wie in JavaScript der letzte Wert.
FAQ
› Was ist der Unterschied zwischen JSON5 und JSONC?
JSONC ist JSON mit Kommentaren (und in VS Code mit nachgestellten Kommas). JSON5 geht weiter: Schlüssel ohne Anführungszeichen, Strings in einfachen Anführungszeichen, mehrzeilige Strings, Hexadezimalzahlen, führende oder abschließende Dezimalpunkte, Infinity und NaN. JSON5 ist eine Obermenge von JSONC, daher liest dieses Tool beides.
› Bleiben meine Kommentare erhalten?
Nein. Standard-JSON kennt keine Kommentare, deshalb werden sie entfernt. Wenn Sie sie behalten möchten, pflegen Sie die JSON5-Datei als Quelle und erzeugen Sie das JSON daraus.
› Was passiert mit Infinity und NaN?
Striktes JSON kann sie nicht darstellen. Standardmäßig werden sie zu null, wie bei JSON.stringify in JavaScript. Alternativ können Sie sie in Strings umwandeln oder einen Fehler mit dem genauen Pfad anzeigen lassen.
› Werden meine Daten hochgeladen?
Nein. Parsen und Umwandeln laufen vollständig in Ihrem Browser, Konfigurationsdateien mit Geheimnissen verlassen Ihr Gerät also nie.