- JSON5 erweitert das JSON-Dateiformat, damit es für Menschen einfacher direkt zu schreiben und zu pflegen ist
- Nicht für den Einsatz in der Kommunikation zwischen Maschinen gedacht
- 2012 gestartet und mit Stand 2022 mehr als 65 Millionen Downloads pro Woche; gehört zu den obersten 0,1 % der am häufigsten abhängigen Pakete auf npm
- Wird in wichtigen Projekten wie Chromium, Next.js, Babel, Retool und WebStorm eingesetzt
- Wird auf Apple-Plattformen wie macOS und iOS standardmäßig unterstützt.
- Merkmale von JSON5
- Eine Obermenge von JSON, die Teile der Syntax von ECMAScript 5.1 enthält.
- JSON5-Dateien sind immer gültige ES5-Dateien.
- Erweiterte ECMAScript-5.1-Funktionen
- Objekte
- Objektschlüssel können
IdentifierName aus ECMAScript 5.1 sein.
- Ein einzelnes nachgestelltes Komma in Objekten ist erlaubt.
- Arrays
- Ein einzelnes nachgestelltes Komma in Arrays ist erlaubt.
- Strings
- Strings können in einfache Anführungszeichen gesetzt werden.
- Durch Escaping von Zeilenumbrüchen können sie sich über mehrere Zeilen erstrecken.
- Können Zeichen-Escapes enthalten.
- Zahlen
- Können in hexadezimaler Form dargestellt werden.
- Können einen führenden oder nachgestellten Dezimalpunkt haben.
- Können positive und negative Unendlichkeit sowie NaN gemäß IEEE 754 enthalten.
- Können mit einem expliziten Pluszeichen beginnen.
- Kommentare
- Einzeilige und mehrzeilige Kommentare sind erlaubt.
- Leerraum
- Zusätzliche Leerraumzeichen sind erlaubt.
- API
JSON5.parse(): Parst einen JSON5-String und erzeugt einen JavaScript-Wert oder ein Objekt.
JSON5.stringify(): Wandelt einen JavaScript-Wert in einen JSON5-String um.
- CLI
- Bietet eine CLI zum Konvertieren von JSON5 nach JSON oder zum Validieren der Syntax von JSON5-Dokumenten.
- ECMAScript-Kompatibilität
- JSON5 wurde für vollständige Kompatibilität mit ES5 entwickelt, jedoch sind die Zeichen U+2028 und U+2029 in ES5 nicht erlaubt.
- Seit ES2019 sind diese Zeichen erlaubt, wodurch JSON und JSON5 vollständig mit ES2019 kompatibel sind.
- Lizenz
- Wird unter der MIT-Lizenz bereitgestellt.
2 Kommentare
Was ich beim Erstellen von JSON5 gelernt habe: Ignoriert die Hater
Hacker-News-Kommentare