LoadJson gibt False zurück, obwohl andere Werkzeuge das JSON akzeptieren
LoadJson oder Load gibt für eine Konfigurationsdatei oder eine Antwort eines Dienstes False zurück, die ein
Texteditor, ein Browser oder eine JavaScript-Bibliothek ohne Beanstandung liest. ParseError.Reason nennt ein
unerwartetes Zeichen wie /, ein Komma nach dem letzten Eintrag oder einfache Anführungszeichen.
Umgebung
Alle Versionen von WKL Office JSON.
Ursache
WKL Office JSON liest striktes JSON nach RFC 8259. Kommentare (//,
/* */), ein Komma nach dem letzten Element ([1, 2,]), Zeichenfolgen in einfachen Anführungszeichen ('text') und
Schlüssel ohne Anführungszeichen sind kein JSON; Werkzeuge, die sie akzeptieren, verwenden einen toleranten Dialekt
(JSON5, JavaScript-Objektliterale). Einen toleranten Modus gibt es bewusst nicht, denn er würde Eingaben annehmen, die
andere JSON-Verarbeiter ablehnen.
Lösung
- Korrigieren Sie die Quelle: Entfernen Sie Kommentare und Kommas nach dem letzten Eintrag, und verwenden Sie doppelte Anführungszeichen.
- Bei Dateien, auf die Sie keinen Einfluss haben, entfernen Sie vor dem Laden Kommentare, die eine ganze Zeile einnehmen, zum Beispiel indem Sie Zeilen überspringen, die nach dem Entfernen der Leerzeichen am Anfang und Ende mit
//beginnen. Entfernen Sie//nicht innerhalb von Zeilen: Es kann Teil einer Zeichenfolge sein, etwa einer URL.