Pourquoi convertir MJS en JSON ?
Parfois, une configuration ou un jeu de données réside dans un module .mjs et vous en avez besoin sous forme de fichier statique .json que d'autres outils peuvent lire sans exécuter de JavaScript ; vous exécutez donc le module et sérialisez sa valeur exportée.
Comment convertir MJS en JSON
Ligne de commande Node.js FREE
Importez le module et affichez le JSON : node --input-type=module -e "import('./file.mjs').then(m=>console.log(JSON.stringify(m.default,null,2)))" > file.json.
Petit script Node FREE
Écrivez un court fichier .mjs qui fait import data from './file.mjs' puis fs.writeFileSync('file.json', JSON.stringify(data, null, 2)) et lancez-le avec node.
Visual Studio Code FREE
Si le fichier .mjs exporte déjà un objet littéral simple, copiez cet objet dans un nouveau fichier .json et supprimez le mot-clé export, en mettant toutes les clés entre guillemets.
À propos de ces formats
Un fichier .mjs est un code source JavaScript que Node.js traite comme un module ECMAScript, ce qui signifie qu'il utilise import et export au lieu du require de CommonJS. L'extension…
Ouvrir les détails de .MJS →Un fichier JSON est un fichier de données en texte brut au format JavaScript Object Notation, utilisé par les API web, les configurations d'applications et les exports de données. N'importe…
Ouvrir les détails de .JSON →Qualité et points de vigilance
- Seules les données sérialisables survivent : les fonctions, les classes,
undefined,BigInt, les symboles et les commentaires sont supprimés ou provoquent une erreur lors deJSON.stringify. - L'exécution du module lance son code, donc tout effet secondaire (appels réseau, écriture de fichiers) se produit pendant la conversion.
- Si le module construit son export de manière dynamique au moment de l'exécution, le JSON n'est qu'un instantané d'une exécution particulière.
Foire aux questions
Pourquoi ne puis-je pas convertir directement .mjs en .json ?
.mjs est du code exécutable qui peut contenir de la logique, des imports et des fonctions, alors que JSON ne contient que des valeurs statiques. Il n'y a rien à convertir à moins d'exécuter le code d'abord.Comment obtenir du JSON à partir d'un .mjs ?
JSON.stringify. Écrivez le résultat dans un fichier .json.Qu'est-ce qui est perdu ?
undefined, BigInt, symboles et commentaires. Seules les données brutes subsistent.