Dev Tools

JSON para JavaScript Object

Converta JSON para objeto JS com exemplos de JSON.parse e JSON.stringify.

JSON para JavaScript Object

{{ jsonToJsObject.message }}

Como usar JSON para JavaScript Object

JSON surgiu diretamente do JavaScript: Douglas Crockford identificou um subconjunto da sintaxe de objeto literal do JavaScript que podia ser usado como formato de troca de dados e o chamou de JavaScript Object Notation. Ironicamente, JSON e objeto JavaScript não são a mesma coisa. Um objeto JavaScript pode conter funções, referências circulares, valores `undefined`, instâncias de `Date`, `Map`, `Set`, `RegExp` e `Symbol` — nada disso existe em JSON. Quando um objeto JavaScript passa pelo `JSON.stringify`, funções e `undefined` são silenciosamente descartados, e objetos `Date` viram strings ISO 8601 sem nenhum aviso.

`JSON.parse` e `JSON.stringify` são os dois métodos da API global JSON do JavaScript, disponíveis em todos os navegadores modernos e no Node.js sem nenhum import necessário. `JSON.parse` aceita um segundo argumento chamado `reviver`: uma função que transforma chaves e valores durante o parsing, útil para converter strings de data de volta para instâncias de `Date`. `JSON.stringify` aceita `replacer` (função ou array de chaves para incluir na saída) e `space` (número de espaços ou string de indentação).

Nunca use `eval()` para parsear JSON, mesmo que funcione tecnicamente. `eval` executa qualquer código JavaScript contido na string, abrindo uma brecha de segurança grave se o JSON vier de uma fonte não confiável. Antes de `JSON.parse` existir (antes do ES5 em 2009), `eval` era a única opção disponível, mas hoje não há nenhuma justificativa para usá-lo. Outra armadilha é chamar `JSON.stringify` em um objeto com referências circulares: a função lança um `TypeError` imediatamente.

Esta ferramenta converte o JSON que você cola em código JavaScript pronto para usar, com exemplos de `JSON.parse` para leitura e `JSON.stringify` para serialização. O código gerado é compatível com navegadores modernos (ES2015+) e Node.js. Para deep clone de objetos em ambientes modernos, considere `structuredClone()` como alternativa ao padrão `JSON.parse(JSON.stringify(obj))`: é semanticamente mais correto e geralmente mais rápido.

Exemplo

const data = JSON.parse(jsonText);
const json = JSON.stringify(data, null, 2);

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Continue nas Dev Tools

Ferramentas relacionadas para acelerar tarefas comuns de desenvolvimento.