Waarom MJS naar JSON converteren?
Soms staat een configuratie of fixture in een .mjs-module en hebt u deze nodig als een statisch .json-bestand dat andere tools kunnen lezen zonder JavaScript uit te voeren; in dat geval voert u de module uit en serialiseert u de geëxporteerde waarde.
Hoe MJS naar JSON te converteren
Node.js one-liner FREE
Importeer de module en print JSON: node --input-type=module -e "import('./file.mjs').then(m=>console.log(JSON.stringify(m.default,null,2)))" > file.json.
Kort Node-script FREE
Schrijf een korte .mjs die import data from './file.mjs' doet en vervolgens fs.writeFileSync('file.json', JSON.stringify(data, null, 2)) en voer dit uit met node.
Visual Studio Code FREE
Als de .mjs al een plat object-literal exporteert, kopieer dat object dan naar een nieuw .json-bestand en verwijder het export-trefwoord, waarbij u alle keys tussen dubbele aanhalingstekens plaatst.
Over deze formaten
Een .mjs-bestand is JavaScript-broncode die Node.js behandelt als een ECMAScript-module, wat betekent dat het import en export gebruikt in plaats van CommonJS require. De extensie bestaat…
Open .MJS details →Een JSON-bestand is een tekstbestand met gegevens in de JavaScript Object Notation-indeling, gebruikt door web-API's, app-configuraties en gegevensexport. Elke teksteditor kan het openen -…
Open .JSON details →Kwaliteit & waar op te letten
- Alleen serialiseerbare gegevens blijven behouden: functies, klassen,
undefined,BigInt, symbols en commentaren gaan verloren of geven een foutmelding tijdensJSON.stringify. - Het uitvoeren van de module voert de code uit, dus eventuele bijwerkingen (netwerkoproepen, bestandsschrijvingen) vinden plaats tijdens de conversie.
- Als de module zijn export dynamisch opbouwt tijdens runtime, is de JSON slechts een momentopname van één specifieke uitvoering.
Veelgestelde vragen
Waarom kan ik `.mjs` niet direct naar `.json` converteren?
.mjs is uitvoerbare code die logica, imports en functies kan bevatten, terwijl JSON alleen statische waarden bevat. Er valt niets te converteren tenzij u de code eerst uitvoert.Hoe krijg ik JSON uit een `.mjs`?
JSON.stringify. Schrijf het resultaat naar een .json-bestand.Wat gaat er verloren?
undefined, BigInt, symbols en commentaren. Alleen platte gegevens blijven over.