NodeJS JSON Objekt ist leer?
Hallo zusammen.
Ich bin grad dabei, etwas mit NodeJS programmieren. Eigentlich bin ich darin auch ziemlich erfahren. Nun habe ich aber das Problem, dass das JSON Objekt, wo sich eigentlich die Funktionen parse() und stringify() finden, leer ist.
console.log(JSON);
// Object [JSON] {}
Wenn ich zum Beispiel die Funktion parse() darauf aufrufen will, bekomme ich folgenden Fehler:
const myJson = JSON.parse('{}');
// TypeError: undefined is not a function
Der Fehler macht Sinn, da diese Funktion ja eben nicht in JSON vorhanden ist.
Warum aber ist JSON überhaupt leer? Ich habe das bisher immer schon ohne Probleme verwendet. Das ist ja in den Builtins drin.
Informationen zu meiner Entwicklungsumgebung
- NodeJS 16.9.1
- OS: Arch Linux (auf dem aktuellsten Stand)
- CommonJS habe ich durch ES6 Imports ersetzt und type in der package.json auf module gesetzt.
- ESLint und Prettier sind korrekt konfiguriert
Falls weitere Informationen gebraucht werden, gerne fragen.
Ebenfalls habe ich schon tiefgründig gegoogelt, dabei habe ich aber kein identisches Problem gefunden. NodeJS neu installiert wurde natürlich auch schon.
- Wie sieht denn der Kontext aus, in dem der Fehler entsteht? Verwendest du JSON noch an anderer Stelle?
- Welche Module hast du integriert?
Der Fehler entsteht auch unabhängig von irgendwas. Wenn ich node einfach im Terminal starte und console.log(JSON) ausführe, ist das Objekt auch leer.
Habe aber keine anderen Module.
1 Antwort
Die Ausgabe von console.log ist hier irrelevant. Von Interesse ist das Ergebnis der parse-Methode.
Ich habe mir zum Test deine Node.js-Version installiert und in der Konsole getestet.
> console.log(JSON);
Object [JSON] {}
> JSON.parse('{}');
{}
> JSON.parse('{"a":"b"}');
{ a: 'b' }
Das heißt, dein Problem konnte ich nicht nachstellen. Du musst mehr Informationen zu deinem Projekt angeben.