Trabalhando com JSON em JavaScript: parsing e serialização de dados

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução ao JSON e seu papel no JavaScript moderno



JSON (JavaScript Object Notation) é um formato leve de troca de dados que se tornou o padrão de facto para transmitir informações entre cliente e servidor. Apesar do nome conter "JavaScript", o JSON é um formato independente de linguagem, mas sua sintaxe é muito próxima à sintaxe de objetos JavaScript. No ambiente Node.js, trabalhar com JSON é uma tarefa diária para qualquer desenvolvedor backend: desde a leitura de arquivos de configuração até o processamento de requisições de API.



Neste artigo, vamos detalhar dois métodos principais para trabalhar com JSON em JavaScript: JSON.parse() para parsing (converter string em objeto) e JSON.stringify() para serialização (converter objeto em string). Você aprenderá não apenas o básico, mas também técnicas avançadas que ajudarão a escrever código mais confiável e performático em Node.js.



JSON.parse(): Convertendo string em objeto JavaScript



O método JSON.parse() recebe uma string no formato JSON e retorna o objeto JavaScript correspondente. Esta é a operação principal ao receber dados de uma API ou ler arquivos JSON.



Sintaxe básica e exemplo simples



A sintaxe do método é extremamente simples:



JSON.parse(text[, reviver])


Onde text é a string JSON, e o parâmetro opcional reviver é uma função que pode transformar os valores antes do retorno.



Vamos ver um exemplo básico:



const jsonString = '{"name": "Node.js", "version": 18, "features": ["async", "await"]}';const parsedObject = JSON.parse(jsonString);

console.log(parsedObject.name); // "Node.js"console.log(parsedObject.version); // 18console.log(parsedObject.features); // ["async", "await"]


Tratamento de erros durante o parsing



Um dos erros mais comuns é tentar fazer parse de um JSON inválido. Em Node.js, isso resultará no lançamento de uma exceção SyntaxError. Sempre use a estrutura try...catch para um parsing seguro:



const invalidJson = '{"name": "Node.js", version: 18}'; // Erro: chave version sem aspas

try { const data = JSON.parse(invalidJson); console.log(data);} catch (error) { if (error instanceof SyntaxError) { console.error('Erro de parsing JSON:', error.message); // Saída: Erro de parsing JSON: Expected property name in JSON at position 27 }}


Usando o parâmetro reviver para transformação de dados



O parâmetro reviver permite modificar os valores durante o parsing. Isso é especialmente útil para converter strings de data em objetos Date:



const jsonWithDate = '{"event": "Conferência", "date": "2024-12-15T10:00:00Z"}';

const result = JSON.parse(jsonWithDate, (key, value) => { if (key === 'date') { return new Date(value); } return value;});

console.log(result.date instanceof Date); // trueconsole.log(result.date.toLocaleDateString('pt-BR')); // 15/12/2024


JSON.stringify(): Convertendo objeto em string JSON



O método JSON.stringify() realiza a operação inversa — converte um objeto JavaScript em uma string JSON. Isso é necessário ao enviar dados para o servidor ou salvar o estado em um arquivo.



Sintaxe e exemplos básicos



A sintaxe completa do método inclui três parâmetros:



JSON.stringify(value[, replacer[, space]])


  • value — objeto para serialização (obrigatório)
  • replacer — função ou array para filtrar propriedades (opcional)
  • space — número de espaços para formatação (opcional)


Exemplo simples de serialização:



const user = {    id: 101,    name: "Alexey",                

Blogs

Book Recommendations