Incolla JavaScript a sinistra e clicca "Convert" — lo trasformiamo in JSONIncolla JavaScript

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 Nodemodule.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.

1

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.

2

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).

3

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: