Hvorfor konvertere MJS til JSON?
Nogle gange ligger en konfiguration eller testdata i et .mjs-modul, og du har brug for det som en statisk .json-fil, som andre værktøjer kan læse uden at køre JavaScript, så du eksekverer modulet og serialiserer dets eksporterede værdi.
Sådan konverterer du MJS til JSON
Node.js one-liner FREE
Importer modulet og udskriv JSON: node --input-type=module -e "import('./file.mjs').then(m=>console.log(JSON.stringify(m.default,null,2)))" > file.json.
Lille Node-script FREE
Skriv en kort .mjs der gør import data from './file.mjs' efterfulgt af fs.writeFileSync('file.json', JSON.stringify(data, null, 2)) og kør den med node.
Visual Studio Code FREE
Hvis .mjs-filen allerede eksporterer et rent objekt-literal, kan du kopiere objektet ind i en ny .json-fil og fjerne export-nøgleordet samt sætte alle nøgler i anførselstegn.
Om disse formater
En .mjs-fil er JavaScript-kildekode, som Node.js behandler som et ECMAScript-modul, hvilket betyder, at den bruger import og export i stedet for CommonJS require. Filtypen eksisterer, så…
Åbn .MJS detaljer →En JSON-fil er en almindelig tekstdatafil i JavaScript Object Notation-format, der bruges af web-API'er, app-konfigurationer og dataeksporter. Enhver teksteditor kan åbne den - Notesblok i…
Åbn .JSON detaljer →Kvalitet & hvad man skal være opmærksom på
- Kun data der kan serialiseres overlever: funktioner, klasser,
undefined,BigInt, symbols og kommentarer fjernes eller kaster fejl underJSON.stringify. - Kørsel af modulet eksekverer dets kode, så eventuelle bivirkninger (netværkskald, filskrivning) sker under konverteringen.
- Hvis modulet bygger sit eksport-objekt dynamisk ved kørsel, er JSON-filen kun et øjebliksbillede af en bestemt kørsel.
Ofte stillede spørgsmål
Hvorfor kan jeg ikke konvertere `.mjs` direkte til `.json`?
.mjs er eksekverbar kode, der kan indeholde logik, imports og funktioner, mens JSON kun indeholder statiske værdier. Der er intet at konvertere, medmindre du kører koden først.Hvordan får jeg JSON ud af en `.mjs`?
JSON.stringify. Skriv resultatet til en .json-fil.Hvad går tabt?
undefined, BigInt, symbols og kommentarer. Kun rene data bliver tilbage.