Domine JSON e LocalStorage: Guia Prático para Web Apps

Quando trabalhamos em aplicações web, frequentemente precisamos armazenar e manipular dados de forma eficiente. Nesta etapa, o JSON (JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. Object Notation) e o LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web. se tornam ferramentas valiosas que permitem, de maneira simples, estruturar, persistir e recuperar informações entre sessões do usuário no navegador. A seguir, veremos como tirar proveito dessas funcionalidades de forma prática.

O que é JSON?🔗

O JSON (JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. Object Notation) é uma forma de representar estruturas de dadosFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. de maneira legível tanto para humanos quanto para máquinas. Ele é baseado em objetosFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. e arrays, usando chaves {} para denotar objetosFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. e colchetes [] para denotar arraysFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web.. Eis um exemplo de um objeto JSON que representa dados de um usuário:

{
  "nome": "Maria Silva",
  "idade": 28,
  "habilidades": ["JavaScript", "HTML", "CSS"]
}

Por que usar JSON?

Conversão entre JavaScript e JSON🔗

Para manipular dados DENTRO do JavaScript, precisamos converter JSON em objetos JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente., e vice-versa.

JSON para Objeto JavaScript

Para converter uma stringVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação. JSON em objeto JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente., utilizamos o método JSON.parse():

const jsonString = '{"nome":"Carlos","idade":22,"habilidades":["React","Node"]}';
const obj = JSON.parse(jsonString);
console.log(obj.nome); // "Carlos"
console.log(obj.habilidades[0]); // "React"

Objeto JavaScript para JSON

Para converter um objeto ou array JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. em uma stringVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação. JSON, utilizamos o métodoClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. JSON.stringify():

const usuario = {
  nome: "Ana",
  idade: 25,
  habilidades: ["Vue", "TypeScript"]
};
const jsonConvertido = JSON.stringify(usuario);
console.log(jsonConvertido);
// "{"nome":"Ana","idade":25,"habilidades":["Vue","TypeScript"]}"
Dica: Sempre que quisermos persistir dados em formato JSON no navegador, precisamos transformá-los em string com JSON.stringify().

Entendendo o LocalStorage🔗

O LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web. é um recurso do navegador que permite armazenar pares chave/valor de forma persistente, mesmo após o usuário fechar o navegador ou desligar o computador. É importante!important e Boas Práticas!important e Boas PráticasDescubra como o !important afeta a cascata do CSS e aprenda boas práticas para evitar conflitos, facilitando a manutenção e depuração do código. salientar:

Armazenando dados

Para guardar dados no LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web., utilizamos o método setItemAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web.(chave, valor):

// Armazenando valores simples
localStorage.setItem("nome", "João");
localStorage.setItem("idade", "30");
// Armazenando um objeto em formato JSON
const produto = {
  id: 101,
  descricao: "Mouse sem fio",
  preco: 79.90
};
localStorage.setItem("produto", JSON.stringify(produto));

Observe que, ao salvar objetosFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web., precisamos de JSON.stringify(produto) para converter o objetoFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. em stringVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação..

Cuidado: Se você tentar armazenar diretamente um objeto sem converter para JSON, o LocalStorage armazenará algo como [object Object], o que não será útil.

Recuperando dados

Para recuperar dados, usamos o getItemAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web.(chave):

// Recuperando valores simples
const nomeUsuario = localStorage.getItem("nome");
console.log(nomeUsuario);  // "João"
// Recuperando e convertendo objeto
const produtoString = localStorage.getItem("produto");
const produtoObj = JSON.parse(produtoString);
console.log(produtoObj.descricao); // "Mouse sem fio"
console.log(produtoObj.preco);     // 79.90

Excluindo dados

Existem duas formas de remover dados do LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web.:

localStorage.removeItem("idade");
localStorage.clear();

Verificando suporte ao LocalStorage

Embora a grande maioria dos navegadores modernos ofereça suporte ao LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web., é uma boa prática checar se o recurso está disponível antes de utilizá-lo:

if (typeof Storage !== "undefined") {
  // Pode utilizar localStorage
} else {
  console.error("LocalStorage não é suportado neste navegador.");
}

Exemplos de Uso Prático🔗

A seguir, veja situações típicas em que JSON e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web. trabalhariam juntos:

1. Estado de preferências: Salvar configurações personalizadas do usuário, como tema escuro ou claro, idioma, entre outras preferências.

2. Carrinho de compras: Em aplicações de e-commerce, manter os itens selecionados e suas quantidades armazenadas no LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web..

3. FormuláriosIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário.: Guardar rascunhos de formulárioIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário. antes de uma submissão final, permitindo recuperação em caso de recarregamento da página.

Exemplo: Salvando Preferências do Usuário

Suponha que precisemos armazenar o idioma preferido do usuário (como "pt" ou "en") e o tema da interface (claro ou escuro). Podemos criar algo como:

// Objeto com as preferências
const preferencias = {
  idioma: "pt",
  tema: "escuro"
};
// Salvando no LocalStorage
localStorage.setItem("preferencias", JSON.stringify(preferencias));
// Recuperando e aplicando as preferências
const prefSalvas = localStorage.getItem("preferencias");
if (prefSalvas) {
  const prefObj = JSON.parse(prefSalvas);
  console.log(prefObj.idioma); // "pt"
  console.log(prefObj.tema);   // "escuro"
  // Exemplo: aplicando classe de tema escuro no documento
  if (prefObj.tema === "escuro") {
    document.body.classList.add("dark-theme");
  }
}
Dica: Sempre que for atualizar as preferências, lembre-se de convertê-las novamente para string ao salvar no LocalStorage para manter a consistência dos dados.

Boas Práticas e Considerações🔗

Conclusão🔗

Saber trabalhar com JSON e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageAPIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web. é essencial para qualquer aplicação web dinâmica e interativa. O JSON oferece a forma mais comum e simples de serializar estruturas de dadosFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. em JavaScript, enquanto o LocalStorage garante que a persistência dos dados seja feita de maneira prática e sem necessidade de configurações extras no navegador. Juntas, essas duas ferramentas viabilizam diversas funcionalidades, como persistência de preferências, criação de carrinhos de compras e armazenamento temporário de formuláriosIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário..

Explore essas técnicas em seus projetos e aproveite para criar experiências personalizadas para os seus usuários!

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados