Entendendo JSON e como converter objetos para JSON e vice-versa em JavaScript

Descubra o que é JSON, como usá-lo para transmitir dados e como converter objetos para JSON e vice-versa em JavaScript.

O que é JSON e como converter objetos para JSON e vice-versa?

JSON (JavaScript Object Notation) é um formato de troca de dados leve e baseado em texto. Ele é utilizado para representar estruturas de dados em formato texto, sendo fácil de ler e escrever para humanos e fácil de interpretar e gerar para máquinas. JSON é amplamente utilizado para comunicação entre servidores e clientes em aplicações web, especialmente ao fazer requisições a APIs.

O que é JSON?

JSON é uma forma de representar dados estruturados como uma string. Ele é um formato comumente utilizado para a serialização de objetos, o que significa converter um objeto ou estrutura de dados em uma string para que possa ser transmitido ou armazenado.

Exemplo de JSON:

{
  "nome": "João",
  "idade": 25,
  "cidade": "São Paulo"
}

Neste exemplo, temos uma string JSON representando um objeto com três propriedades: nome, idade e cidade. JSON é muito usado em APIs, porque ele permite representar dados de forma simples e estruturada.

Como converter objetos para JSON: JSON.stringify()

Em JavaScript, para converter um objeto em uma string JSON, usamos o método JSON.stringify(). Esse método transforma um objeto ou valor em uma string JSON.

Exemplo de conversão de objeto para JSON:

let pessoa = { nome: 'João', idade: 25, cidade: 'São Paulo' };
let jsonPessoa = JSON.stringify(pessoa);
console.log(jsonPessoa);
// Exibe '{"nome":"João","idade":25,"cidade":"São Paulo"}'

Aqui, JSON.stringify(pessoa) converte o objeto pessoa em uma string JSON, que pode ser enviada para um servidor ou armazenada em um arquivo.

Características do JSON.stringify()

  • Converte objetos em strings: Transforma objetos JavaScript em uma string JSON.
  • Funciona apenas com dados serializáveis: Algumas propriedades de objetos, como funções e propriedades não enumeráveis, não são convertidas para JSON.
  • Ignora propriedades não enumeráveis: Propriedades não enumeráveis não são incluídas na string JSON gerada.

Como converter JSON para objetos: JSON.parse()

Para converter uma string JSON de volta em um objeto, usamos o método JSON.parse(). Esse método interpreta uma string JSON válida e retorna um objeto JavaScript correspondente.

Exemplo de conversão de JSON para objeto:

let jsonString = '{"nome":"João","idade":25,"cidade":"São Paulo"}';
let pessoaObj = JSON.parse(jsonString);
console.log(pessoaObj);
// Exibe { nome: 'João', idade: 25, cidade: 'São Paulo' }

Neste exemplo, JSON.parse(jsonString) converte a string JSON jsonString de volta em um objeto JavaScript. Agora você pode acessar as propriedades desse objeto como faria normalmente.

Características do JSON.parse()

  • Converte strings JSON em objetos: Interpreta uma string JSON e cria um objeto JavaScript correspondente.
  • Lida com JSON válido: A string JSON fornecida deve ser válida, ou JSON.parse() lançará um erro.
  • Pode lançar exceções: Se a string JSON for malformada, JSON.parse() lançará um erro, então é importante validar ou capturar exceções.

Usos comuns de JSON em JavaScript

JSON é amplamente utilizado em aplicações web para enviar e receber dados entre servidores e clientes. Ele é a base para a comunicação com APIs RESTful, onde os dados são geralmente enviados ou recebidos em formato JSON.

  • APIs RESTful: As APIs frequentemente utilizam JSON para enviar e receber dados. Por exemplo, ao fazer uma requisição GET a uma API, você pode receber um objeto JSON com informações.
  • Armazenamento local: JSON é frequentemente usado para armazenar dados em localStorage ou sessionStorage, pois esses métodos só aceitam strings.
  • Configurações e transmissão de dados: Você pode usar JSON para armazenar configurações ou transmitir dados entre diferentes sistemas.

Exemplos de uso de JSON em APIs

Uma API pode enviar uma resposta em JSON com os dados de um usuário. Para processar esses dados em JavaScript, você pode usar JSON.parse() para converter a resposta em um objeto utilizável.

Exemplo de requisição fetch e uso de JSON:

fetch('https://api.exemplo.com/usuario')
  .then(response => response.json())
  .then(data => console.log(data));

Neste exemplo, a resposta da API é convertida automaticamente para JSON e depois manipulada como um objeto JavaScript.

Comparando JSON com outros formatos de dados

Embora JSON seja o formato mais popular para a troca de dados em JavaScript, existem outros formatos como XML e CSV. JSON é geralmente preferido por sua simplicidade e leveza.

Característica JSON XML CSV
Legibilidade Fácil de ler e escrever Pode ser mais verboso e complexo Simples, mas menos estruturado
Uso em APIs Muito comum em APIs RESTful Usado em APIs mais antigas Usado em exportações de dados
Tamanho Menor que XML Maior devido às tags Muito compacto

Conclusão

JSON é uma ferramenta essencial para trabalhar com dados em JavaScript, especialmente ao lidar com APIs e comunicação entre sistemas. A conversão de objetos para JSON e de JSON para objetos é realizada de maneira simples com os métodos JSON.stringify() e JSON.parse(). Entender como usar JSON de maneira eficaz permitirá que você manipule dados de forma eficiente em suas aplicações web.

JSON é um formato de dados essencial em muitas aplicações modernas. Ele é amplamente utilizado para transmitir dados entre servidores e clientes, especialmente em APIs web. Saber como converter objetos para JSON e como transformar JSON de volta em objetos permite que você armazene e manipule dados de forma mais eficiente. Além disso, com o uso crescente de armazenamento local e APIs RESTful, o JSON se tornou o formato padrão para comunicação entre sistemas.

Algumas aplicações:

  • Enviar e receber dados de APIs RESTful em formato JSON.
  • Armazenar dados em localStorage ou sessionStorage usando JSON.
  • Gerenciar configurações e preferências de usuário de forma estruturada e eficiente.
  • Transformar objetos complexos em strings para armazenar ou transmitir dados entre sistemas.

Dicas para quem está começando

  • Use JSON.stringify() sempre que precisar converter objetos em uma string para enviá-los ou armazená-los.
  • Ao trabalhar com dados JSON, lembre-se de que as strings JSON devem ser válidas, então sempre verifique se estão bem formatadas antes de usar JSON.parse().
  • Evite armazenar funções ou propriedades não enumeráveis em objetos antes de convertê-los para JSON, pois elas serão ignoradas pelo JSON.stringify().
  • Para converter uma resposta de uma API em JSON, use response.json() em vez de JSON.parse() para garantir que a resposta seja interpretada corretamente.
Foto de Lucas Souza
Contribuições de
Lucas Souza

Desenvolvedor front-end apaixonado por JavaScript e interfaces intuitivas.

Mais sobre o autor
Compartilhe este tutorial: O que é JSON e como converter objetos para JSON e vice-versa?

Compartilhe este tutorial

Continue aprendendo:

Como transformar arrays em objetos (reduce)?

Descubra como usar o método `reduce()` para transformar arrays em objetos em JavaScript, combinando elementos de arrays em uma estrutura chave-valor.

Tutorial anterior

O que é o DOM em JavaScript?

O DOM (Document Object Model) é uma interface de programação fundamental para interagir com documentos HTML e XML em JavaScript. Descubra como ele possibilita a manipulação de páginas web.

Próximo tutorial