Hvorfor konvertere MJS til JSON?
Noen ganger ligger en konfigurasjon eller testdata i en .mjs-modul, og du trenger den som en statisk .json-fil som andre verktøy kan lese uten å kjøre JavaScript, så du kjører modulen og serialiserer den eksporterte verdien.
Hvordan konvertere MJS til JSON
Node.js-oneliner FREE
Importer modulen og skriv ut JSON: node --input-type=module -e "import('./file.mjs').then(m=>console.log(JSON.stringify(m.default,null,2)))" > file.json.
Lite Node-skript FREE
Skriv en kort .mjs som gjør import data from './file.mjs' deretter fs.writeFileSync('file.json', JSON.stringify(data, null, 2)) og kjør den med node.
Visual Studio Code FREE
Hvis .mjs-filen allerede eksporterer et rent objekt-literal, kopier det objektet inn i en ny .json-fil og fjern export-nøkkelordet, og sett alle nøkler i anførselstegn.
Om disse formatene
En .mjs-fil er JavaScript-kildekode som Node.js behandler som en ECMAScript-modul, noe som betyr at den bruker import og export i stedet for CommonJS require. Filendelsen eksisterer slik at…
Åpne .MJS-detaljer →En JSON-fil er en datafil i rent tekstformat basert på JavaScript Object Notation, brukt av web-API-er, app-konfigurasjoner og dataeksport. Alle tekstredigeringsprogrammer kan åpne den -…
Åpne .JSON-detaljer →Kvalitet og hva du bør passe på
- Bare serialiserbare data overlever: funksjoner, klasser,
undefined,BigInt, symboler og kommentarer fjernes eller kaster feil underJSON.stringify. - Kjøring av modulen utfører koden dens, så eventuelle bivirkninger (nettverkskall, filskriving) skjer under konverteringen.
- Hvis modulen bygger eksporten sin dynamisk ved kjøretid, er JSON-filen bare et øyeblikksbilde av én bestemt kjøring.
Ofte stilte spørsmål
Hvorfor kan jeg ikke konvertere `.mjs` direkte til `.json`?
.mjs er kjørbar kode som kan inneholde logikk, importer og funksjoner, mens JSON bare inneholder statiske verdier. Det er ingenting å konvertere med mindre du kjører koden først.Hvordan får jeg JSON ut av en `.mjs`?
JSON.stringify. Skriv resultatet til en .json-fil.Hva går tapt?
undefined, BigInt, symboler og kommentarer. Bare rene data gjenstår.