Convertitore JavaScript in JSON
Incolla un object literal o un array JavaScript. Ti restituiamo JSON valido.
Cosa fa questo tool
Hai copiato un object literal JavaScript da un file di config, da uno script di seed o dal debugger, e ora ti serve come JSON vero. Il problema: JS ti lascia usare chiavi senza virgolette, apici singoli, virgole finali, undefined, commenti e new Date(...) — niente di tutto ciò è legale in JSON. Incolla tutto qui, premi Convert, e ti torna un JSON che passa da JSON.parse senza una sola sottolineatura rossa.
Segue le stesse regole di JSON.stringify: le chiavi vengono messe tra virgolette doppie, le stringhe con apici singoli diventano doppi, le virgole finali spariscono, i commenti vengono tolti, i valori undefined vengono omessi (stesso comportamento del stringify nativo), NaN e Infinity diventano null, e gli oggetti Date diventano stringhe ISO-8601 secondo l'RFC 8259. Le regole di formattazione numerica di ECMAScript sono rispettate, quindi 1e3 resta un numero e 0x1F diventa 31.
Gestisce anche la roba che incolli da Node — module.exports = {...}, l'export default {...} degli ES module, o un semplice assegnamento const config = {...}. Chiavi computate, shorthand property ({ name }) e spread ({ ...defaults, env: "prod" }) vengono tutti espansi nella loro forma finale. Oggetti e array annidati passano intatti.
Come si usa
Tre passi, che tu incolli cinque righe o un modulo di config intero.
Incolla il tuo JavaScript (o prova l'esempio)
Butta il codice nell'editor a sinistra. Un object literal, un array di oggetti, uno statement di export o una dichiarazione const — il parser se la cava con tutti. Clicca Load Sample per vedere un input realistico.
Non serve togliere const, module.exports o export default. Se vuoi lascia pure i commenti — vengono rimossi nell'output. Dai un'occhiata al riferimento JSON su MDN se vuoi ripassare il mapping dei tipi JSON.
Premi Convert
Clicca il bottone verde Convert. Il tool parsifica il JS, valuta i literal e li serializza esattamente come farebbe JSON.stringify(obj, null, 2).
Copia il JSON
Il pannello di destra mostra JSON ben formattato che parsifica pulito in qualsiasi linguaggio. Copialo nel body della richiesta, nel file di config o in uno snapshot Jest.
Quando serve davvero
Preparare richieste API
Hai un object literal da un file React o Express e ti serve un body JSON per Postman o curl. Incolli, converti, fatto.
Migrare config su JSON
Stai passando da <code>config.js</code> a un config store basato su JSON? Incolla l'export, prendi il JSON valido, sbattilo dentro.
Fixture di test e mock
Converti un oggetto inline usato in un test Jest in una fixture JSON a sé per MSW, Playwright o un mock server.
Log e output del debugger
Copia un valore stampato dal REPL di Node o dal DevTools di Chrome (che usano la sintassi degli oggetti JS, non JSON) e trasformalo in qualcosa che i tool a valle possano davvero parsificare.
Domande frequenti
Chiavi senza virgolette e virgole finali funzionano?
Sì. Le chiavi identificatore senza virgolette vengono messe tra virgolette nell'output, gli apici singoli diventano doppi e le virgole finali spariscono — esattamente quello che ECMAScript permette ma JSON no.
Cosa succede a undefined, NaN, Infinity e function?
Stesse regole di JSON.stringify: undefined e i valori function vengono omessi dagli oggetti, NaN e Infinity diventano null, e Symbol viene scartato. Elenco completo nella documentazione MDN di JSON.stringify.
I Date vengono serializzati?
Sì. I valori new Date(...) diventano stringhe ISO-8601 ("2026-03-14T10:30:00.000Z"), lo stesso formato prodotto da Date.prototype.toJSON().
Posso incollare un modulo ES o un export CommonJS?
Sì — export default { ... }, export const x = { ... } e module.exports = { ... } sono tutti riconosciuti. Il tool estrae il valore esportato e converte quello.
E la sintassi spread e le chiavi computate?
Entrambe vengono risolte nella forma finale dell'oggetto. { ...defaults, env: "prod" } viene mergiato, e { [name]: value } diventa { "actualName": value } quando la chiave è un literal.
Il mio codice viene salvato?
Il codice viene mandato al backend per essere convertito e non viene né persistito né loggato. Se incolli qualcosa di sensibile, rileggilo prima.
Altri tool che potrebbero servirti
JavaScript in JSON è solo un pezzo del puzzle. Questi tool ci stanno bene insieme: