Trabalhando com JSON em JavaScript: parsing e serialização para iniciantes

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: o que é JSON e por que ele é necessário em JavaScript?



JSON (JavaScript Object Notation) é um formato leve de texto para troca de dados, baseado na sintaxe de objetos JavaScript. Apesar do nome, JSON é independente de linguagem e suportado por praticamente todas as linguagens de programação modernas. No ecossistema Node.js e no JavaScript do navegador, trabalhar com JSON é uma das operações mais comuns: desde obter dados de APIs até salvar configurações e transmitir informações entre servidor e cliente.



Neste artigo, abordaremos dois métodos principais: JSON.parse() (converter uma string JSON em um objeto JavaScript) e JSON.stringify() (converter um objeto JavaScript em uma string JSON). Você aprenderá a tratar erros corretamente, trabalhar com estruturas aninhadas e usar recursos avançados desses métodos.



1. Parsing JSON: método JSON.parse()



O método JSON.parse() recebe uma string no formato JSON e a converte em um objeto, array ou valor primitivo JavaScript. Esta é a operação principal quando você recebe dados de uma fonte externa — por exemplo, de uma API REST ou de um arquivo.



Sintaxe básica



const jsonString = '{"name": "Ana", "age": 30, "isStudent": false}';const user = JSON.parse(jsonString);

console.log(user.name); // "Ana"console.log(user.age); // 30console.log(user.isStudent); // false


Observe: chaves e valores string em JSON obrigatoriamente devem estar entre aspas duplas. Aspas simples ou a ausência de aspas nas chaves resultarão em erro.



Parsing de arrays



JSON pode conter não apenas objetos, mas também arrays:



const jsonArray = '[1, 2, 3, "quatro", true]';const arr = JSON.parse(jsonArray);

console.log(arr[0]); // 1console.log(arr[3]); // "quatro"


Estruturas aninhadas



JSON suporta aninhamento ilimitado:



const complexJson = '{"users":[{"id":1,"name":"João"},{"id":2,"name":"Maria"}]}';const data = JSON.parse(complexJson);

console.log(data.users[0].name); // "João"console.log(data.users[1].id); // 2


Tratamento de erros de parsing



Se a string contiver JSON inválido, JSON.parse() lançará uma exceção SyntaxError. Sempre use try/catch ao trabalhar com dados externos:



const invalidJson = '{"name": "Pedro", age: 25}'; // Erro: age sem aspas

try { const obj = JSON.parse(invalidJson); console.log(obj);} catch (error) { console.error('Erro de parsing JSON:', error.message); // Saída: Erro de parsing JSON: Unexpected token 'a', ...}


Uso avançado: função reviver



O segundo parâmetro de JSON.parse() é uma função reviver, que permite transformar valores durante o parsing. Por exemplo, você pode converter automaticamente strings de data em objetos Date:



const jsonWithDate = '{"name": "Evento", "date": "2025-03-15T10:00:00.000Z"}';

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

console.log(event.date instanceof Date); // trueconsole.log(event.date.getFullYear()); // 2025


2. Serialização JSON: método JSON.stringify()



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



Sintaxe básica



const user = {    name: "Olga",    age: 28,    isAdmin: true,    skills: ["JS", "Python", "SQL"]};

const jsonString = JSON.stringify(user);console.log(jsonString);// {"name":"Olga

Blogs

Book Recommendations