Warum MJS in JSON konvertieren?
Manchmal befindet sich eine Konfiguration oder ein Datensatz in einem .mjs-Modul und Sie benötigen diese als statische .json-Datei, die andere Tools ohne JavaScript-Ausführung lesen können. In diesem Fall führen Sie das Modul aus und serialisieren den exportierten Wert.
Wie man MJS in JSON konvertiert
Node.js Einzeiler FREE
Importieren Sie das Modul und geben Sie JSON aus: node --input-type=module -e "import('./file.mjs').then(m=>console.log(JSON.stringify(m.default,null,2)))" > file.json.
Kleines Node-Skript FREE
Schreiben Sie eine kurze .mjs-Datei mit import data from './file.mjs' gefolgt von fs.writeFileSync('file.json', JSON.stringify(data, null, 2)) und führen Sie diese mit node aus.
Visual Studio Code FREE
Wenn das .mjs bereits ein einfaches Objekt-Literal exportiert, kopieren Sie dieses Objekt in eine neue .json-Datei, entfernen Sie das Schlüsselwort export und setzen Sie alle Schlüssel in Anführungszeichen.
Über diese Formate
Eine .mjs-Datei ist JavaScript-Quellcode, den Node.js als ECMAScript-Modul behandelt. Das bedeutet, dass sie import und export anstelle von CommonJS require verwendet. Die Dateiendung…
.MJS-Details öffnen →Eine JSON-Datei ist eine Klartextdatendatei im JavaScript Object Notation-Format, die von Web-APIs, App-Konfigurationen und Datenexporten verwendet wird. Jeder Texteditor öffnet sie -…
.JSON-Details öffnen →Qualität & worauf zu achten ist
- Nur serialisierbare Daten bleiben erhalten: Funktionen, Klassen,
undefined,BigInt, Symbole und Kommentare werden beiJSON.stringifyverworfen oder führen zu Fehlern. - Das Ausführen des Moduls führt dessen Code aus, sodass alle Nebenwirkungen (Netzwerkaufrufe, Dateizugriffe) während der Konvertierung auftreten.
- Wenn das Modul seinen Export dynamisch zur Laufzeit erstellt, ist das JSON nur eine Momentaufnahme eines bestimmten Durchlaufs.
Häufig gestellte Fragen
Warum kann ich `.mjs` nicht direkt in `.json` konvertieren?
.mjs ist ausführbarer Code, der Logik, Importe und Funktionen enthalten kann, während JSON nur statische Werte enthält. Es gibt nichts zu konvertieren, ohne den Code vorher auszuführen.Wie bekomme ich JSON aus einer `.mjs`-Datei?
JSON.stringify. Schreiben Sie das Ergebnis in eine .json-Datei.Was geht verloren?
undefined, BigInt, Symbole und Kommentare. Nur reine Daten bleiben übrig.