O que é e pra que serve JSON?

Egon Hilgenstieler

JSON é um formato de dados simples e leve, amplamente utilizado para a troca de informações entre sistemas por ser fácil de ler, escrever e interpretar. Sua estrutura simples, baseada em texto, é compatível com diversas linguagens de programação, tornando-o uma escolha popular no desenvolvimento de aplicações modernas. Acompanhe este artigo e entenda como funciona a estrutura do JSON e onde ele é mais utilizado. Descubra como esse formato pode facilitar a integração entre sistemas e o desenvolvimento de projetos de forma prática.

Conteúdo

O que é o JSON e para que serve?

JSON ou JavaScript Object Notation é uma formatação usada para a estruturação de dados em formato de texto que permite a troca de informações de forma prática e otimizada. E apesar de ser um tipo de notação de objetos JavaScript, só passou a fazer parte desta linguagem após a versão 5 do ECMAScript.

O modelo .json é um dos formatos utilizados para estruturar informações trafegadas em transferências de dados entre aplicações realizadas por APIs (Application Programming Interface)

Além disso, é utilizado para a realização de requisições AJAX em sites em que são feitas diferentes interações com o banco de dados para realizar operações como consulta, inclusão e exclusão de registros, como o MySql.

Outra forma de utilização de arquivos .json é para o gerenciamento de projetos em diferentes linguagens de programação. O Node.js, por exemplo, utiliza um arquivo chamado package.json em seus projetos para armazenar as dependências utilizadas na aplicação.

Qual é a principal finalidade do JSON em programação?

Sua principal finalidade é a troca de dados entre sistemas e a representação de dados estruturados de forma leve e simples. Tornando a comunicação entre aplicações mais fácil, especialmente em contextos web e mobile.

Também é muito utilizado na programação de código API por acelerar a troca de dados e resultados de serviços web. Reduzindo a incompatibilidade de impedância entre objetos no código do aplicativo e suas representações seriadas. 

Como é a estrutura de um JSON?

Os dados contidos em um arquivo no formato JSON devem ser estruturados através de uma coleção de pares, com nome e valor, ou ser uma lista ordenada de valores. Desse modo, seus elementos devem conter:

  • Chave: é o identificador do conteúdo e, por isso, deve ser uma string delimitada por aspas;
  • Valor: é o conteúdo correspondente e pode conter os tipos de dados string, array, object, number, boolean ou null.

String

Uma string é uma sequência de zero ou mais caracteres Unicode, cercada por aspas duplas. Por exemplo:

"cidade": "Rio de Janeiro"

Neste caso, “Rio de Janeiro” é uma string por ser um conjunto de caracteres colocados entre aspas duplas.

Number

Em JSON, um número (Number) pode ser do tipo inteiro ou fracionado e não utiliza aspas, desde que indique um valor numérico válido, como:

"age": 40

Boolean

Os valores booleanos podem ser true (verdadeiro) ou false (falso) e não são colocados entre aspas: 

"solteiro": false


Neste exemplo, false é um valor booleano, indicando uma condição falsa sem o uso de aspas.

Null

Em JSON, null é usado para representar a ausência de valor ou informação para determinado assunto, e não é colocado entre aspas:

"telefone": null

Object

Um objeto é uma coleção de pares chave/valor, onde as chaves e os valores são separados por dois pontos e cada par é separado por vírgulas. Os objetos são cercados por chaves { }, como:

"carro": {"marca": "Toyota", "modelo": "Corolla"}

Aqui, “carro” é a chave, enquanto o valor é um objeto que contém as propriedades “marca” e “modelo”.

Array

Um array é uma coleção ordenada de valores, cercada por colchetes [ ] e com valores separados por vírgulas. 

Vejamos um exemplo com um array chamado “cidades”, contendo três objetos que representam diferentes cidades e seus respectivos países:

"cidades": [

  {"nome": "São Paulo", "país": "Brasil"},

  {"nome": "Lisboa", "país": "Portugal"},

  {"nome": "Tóquio", "país": "Japão"}

]

Exemplos de códigos JSON

Veja a seguir exemplos práticos de aplicação do JSON:

1. Gerar um objeto JSON a partir de dados gerados pelo usuário

Imagine que um usuário preencha um formulário com seu nome e email em um site. Esses dados podem ser transformados em um objeto JSON para processamento ou armazenamento temporário.

{

  "nome": "João Silva",

  "email": "joao.silva@email.com"

}


Esse JSON pode ser enviado para o servidor para ser processado, armazenado ou utilizado para outras ações.

2. Transferir dados entre sistemas

Para verificar um endereço, o JSON contendo o endereço do cliente é enviado para uma API de validação de endereços que vai retornar se o endereço é válido ou não.

{

  "endereco": {

    "rua": "Av. Paulista",

    "numero": "1000",

    "cidade": "São Paulo",

    "estado": "SP",

    "cep": "01310-100"

  }

}

3. Configurar dados de aplicações

Configurações de uma aplicação, como credenciais de banco de dados e caminhos de arquivos de log, podem ser armazenadas em um arquivo JSON, tornando o acesso mais fácil e organizado.

{

  "banco_de_dados": {

    "host": "localhost",

    "usuario": "admin",

    "senha": "123456",

    "nome_banco": "meu_banco"

  },

  "configuracao_log": {

    "caminho_arquivo": "/var/logs/meu_app.log"

  }

}

A aplicação lê este arquivo JSON para obter os dados necessários para se conectar ao banco de dados e ao arquivo de log.

4. Simplificar modelos de dados complexos

Um modelo de dados complexos, como um cadastro completo de um usuário com múltiplos endereços e contatos, pode ser simplificado em um arquivo JSON, permitindo uma estrutura mais clara e organizada.

{

  "usuario": {

    "id": 123,

    "nome": "Maria Oliveira",

    "enderecos": [

      {

        "tipo": "residencial",

        "rua": "Rua das Flores",

        "numero": "45",

        "cidade": "Rio de Janeiro",

        "estado": "RJ",

        "cep": "20000-000"

      },

      {

        "tipo": "comercial",

        "rua": "Av. Central",

        "numero": "1500",

        "cidade": "Rio de Janeiro",

        "estado": "RJ",

        "cep": "20000-010"

      }

    ],

    "contatos": [

      {

        "tipo": "telefone",

        "numero": "(21) 98765-4321"

      },

      {

        "tipo": "email",

        "email": "maria.oliveira@email.com"

      }

    ]

  }

}

Este exemplo de modelo complexo foi transformado em um formato de fácil leitura e manipulação com JSON.

Onde o JSON é mais utilizado?

É muito utilizado na comunicação entre servidores clientes em APIs RESTful, armazenamento de dados, configurações de aplicações, troca de dados entre sistemas e desenvolvimento de aplicações web.

Além disso, serializa e transmite dados estruturados, tornando seu uso comum em aplicativos móveis onde é preciso requisitar dados em um servidor e utilizá-los rapidamente na aplicação.

Também, como já mencionado, o JSON é muito utilizado em requisições AJAX para aplicações web e para resolver o problema de domínio cruzado. 

Como fazer um arquivo em JSON?

Para criar um arquivo em JSON, é preciso compreender como sua estrutura funciona e como os dados são estruturados. Em seguida, através de um editor de texto, você pode criar a estrutura desejada e salvar o arquivo em extensão .json. 

Confira mais detalhes destes passos abaixo:

1. Entenda a estrutura

Em primeiro lugar, é importante entender como funciona a estrutura do JSON, uma vez que essa formatação organiza os dados em pares chave-valor onde as chaves são strings e os valores podem ser strings, number, arrays, object, boolean ou null.

2. Escolha um editor de texto

Para criar o arquivo JSON, você precisará de um editor de texto. Existem várias opções disponíveis, como Notepad (Windows), TextEdit (Mac), ou editores de código como Visual Studio Code e Sublime Text.

3. Crie a estrutura

Abra o editor de texto escolhido e escreva a estrutura JSON. Certifique-se de seguir a sintaxe correta e incluir chaves e colchetes conforme necessário. 

4. Salve o arquivo

Após criar a estrutura JSON, você precisa salvar o arquivo:

  1. Vá até o menu do editor, clique em “Arquivo” e depois em “Salvar como”. 
  2. Depois, escolha o local onde deseja armazená-lo, dê um nome ao arquivo (por exemplo, livros.json) e certifique-se de que a extensão seja .json. 
  3. Clique em Salvar para concluir o processo.

Qual a diferença entre HTML e JSON?

O HTML (HyperText Markup Language) é uma linguagem de marcação baseada em tags usada para estruturar e apresentar conteúdos na web. 

Enquanto o JSON é um formato de troca de dados feito de estruturas de pares chave/valor que tem o objetivo de transmitir dados entre um servidor e um cliente (geralmente em aplicações web).

Qual a diferença entre JSON e XML?

Ambos são representações de dados utilizados na comunicação de dados entre sistemas e aplicações. Entretanto, o JSON é independente de qualquer linguagem de programação, além de ser uma saída de API muito comum em diversas aplicações. 

Já o XML é uma linguagem de marcação que disponibiliza regras para definir qualquer dado, usando tags para diferenciar atributos de dados e dados reais. 

Entre as principais diferenças temos:

Notação

A diferença inicial dos dois modelos é a maneira de realizar a notação dos dados. Como já dito, o JSON usa uma notação simples, enquanto o XML uma estrutura de tags personalizadas para representar os objetos. Além disso, elas devem conter o par, ou seja, a tag de abertura e a de fechamento.

Outra característica da notação XML, é que o seu conteúdo não precisa ser delimitado com aspas, como acontece com os textos no formato JSON. Nele, o que indica o início e o fim das informações são as tags de abertura e fechamento.

Tipos de dados

O formato XML suporta diferentes tipos de dados, como imagens e gráficos, o que não é possível transmitir no formato JSON, uma vez que ele apenas oferece suporte a números e textos. Em contrapartida, o XML não oferece suporte a arrays.

Codificação

A codificação representa as formas de conversão para o formato binário suportadas pelo modelo. O JSON utiliza o formato UTF-8, enquanto o XML oferece essa e outras opções. 

Importante frisar que o UTF-8 é o formato mais utilizado em sites na internet.

Facilidade de leitura e comentários

Os arquivos em formato JSON são fáceis de entender, já que a estrutura e notação são bem simples. Já o XML é mais estruturado e com a interpretação mais complexa. 

Outra diferença é com relação aos comentários no arquivo, que são permitidos apenas no modelo XML.

Quando usar JSON e quando devo usar XML?

Isso vai depender de cada projeto, é preciso analisar as requisições e exigências do aplicativo ou sistema para verificar qual opção vai produzir o melhor resultado.

Por exemplo, se o foco é desenvolver algo mais leve e rápido (especialmente na web), JSON é a escolha ideal, já que sua integração com JavaScript facilita o trabalho dos desenvolvedores. Além da sua legibilidade ser superior e permitir uma manipulação de dados mais simples e intuitiva.

Por outro lado, em sistemas que utilizam SOAP, o XML é que se destaca porque sua utilização é uma exigência. Sendo a melhor opção quando há uma maior complexidade de dados, necessidade de padronização na validação e transformações frequentes. Além disso, quando a categorização e identificação de dados são fundamentais, os metadados proporcionados pelo XML se tornam essenciais.

Qual a diferença entre JS e JSON?

O JavaScript (JS) é uma linguagem de programação interpretada usada para tornar as páginas web mais interativas, suportando variáveis, funções, objetos, arrays, condicionais, entre outros. Enquanto o JSON é um formato que facilita a leitura, escrita e a comunicação de dados estruturados, sem executar lógica ou funções. 

Assim, enquanto o JS cria a lógica das aplicações e manipula os dados no lado do cliente, o JSON faz a troca dos dados entre o cliente e o servidor. 

Quais as vantagens do JSON em relação a outras linguagens?

O JSON se destaca como o formato padrão para troca de informações entre sistemas web, especialmente em APIs. Sua simplicidade e legibilidade facilitam a comunicação entre aplicativos móveis e web, permitindo que ambos acessem os mesmos dados de forma eficiente. 

Além disso, a estrutura do JSON é fácil de entender e manipular, o que o torna acessível para desenvolvedores de diversas linguagens.

Outra vantagem significativa é seu uso como uma “linguagem de configuração”. Ele é amplamente utilizado para armazenar parâmetros e opções que configuram ou personalizam programas e aplicativos, seja em ambientes desktop, mobile ou servidores. 

Algumas das vantagens do JavaScript Object Notation:

  • Leitura mais simples;
  • Analisador (parsing) mais fácil;
  • Suporta objetos;
  • Velocidade maior na execução e transporte de dados;
  • Arquivo com tamanho reduzido.

Essa flexibilidade, aliada ao suporte universal em praticamente todas as linguagens de programação modernas, torna o JSON uma escolha popular no desenvolvimento de software.

Quais são os principais desafios ao trabalhar com JSON?

Os principais desafios incluem manipular dados aninhados de forma eficiente, garantir a segurança dos dados e a compatibilidade entre diferentes sistemas e linguagens de programação. Além disso, é preciso ter capacidade de gerenciar e lidar com grande quantidade de dados.  

Simplifique sua gestão de documentos fiscais com a Focus NFe

Somos um ecossistema de soluções para a emissão e gestão de documentos fiscais. Nossas APIs utilizam o formato JSON, o que facilita a integração e a gestão fiscal, permitindo que empresas de todos os tamanhos e setores economizem tempo e orientem seus esforços no que realmente importa.

Sua empresa tem desenvolvedores e um sistema interno, e deseja otimizar a emissão de notas fiscais? Conheça nosso conjunto de APIs e tenha acesso a uma solução ágil e eficiente!

Converse já com a nossa equipe: Solicite Contato Aqui!

Picture of Egon Hilgenstieler

Egon Hilgenstieler

CTO e cofundador do Focus NFe, desenvolvedor, professor de yoga e praticante de meditação. Enquanto não está programando, procura a resposta para a vida, para o universo e para tudo mais.

Inscreva-se em nossa newsletter​

Receba nossos conteúdos exclusivos em primeira mão.

Explore outros conteúdos:

Imagem da tela de um computador com alguns gráficos aparecendo
SaaS
Ricardo Acras

Métricas SaaS: Receita Mensal Recorrente (MRR)

A Receita Recorrente Mensal (MRR) é uma métrica que permite avaliar o desempenho financeiro de uma empresa ao longo do mês. Através do seu cálculo, é possível identificar eventuais problemas, ter maior previsibilidade de faturamento e desenvolver um planejamento mais estratégico para o negócio.

Continuando nossa série sobre < a href="https://focusnfe.com.br/blog/metricas-saas/" target="_blank">Métricas SaaS, no artigo de hoje você vai entender a importância do MRR, quais são os tipos e como fazer os cálculos. Acompanhe!

Leia mais »
nota-tecnica-2024-002
Notas Técnicas
Douglas Pinheiro

Nota Técnica 2024.002: mudanças no leiaute de CT-e Simplificado

A Nota Técnica 2024.002 introduz uma novidade quando se trata do < a href="https://focusnfe.com.br/blog/cte/" target="_blan">Conhecimento de Transporte Eletrônico (CT-e). Tal mudança visa otimizar e desburocratizar a emissão e a gestão do documento, com ênfase na agilidade e na praticidade para as empresas.

Mas a mudança mais importante trazida com a nota técnica é a criação do CT-e simplificado. Trata-se de uma versão enxuta do documento original, direcionada a operações de transporte menos complexas. Seu layout é mais conciso, exclui campos não essenciais e facilita o preenchimento das informações.

Para emissores, as principais vantagens são: menos tempo para emissão do documento e menor índice de erros. Para as empresas, por sua vez, há maior agilidade na conferência de dados e melhorar a comunicação entre documentos fiscais eletrônicos.

Leia mais »
NT 2023.002 - v1.00: Emissão de NFC-e para produtor rural pessoa física com IE
NFe
Ludmila Ferreira

Nota Técnica 2020.004: NF-e e DANFE Simplificado

A Nota Técnica 2020.004 trouxe atualizações essenciais para a emissão da Nota Fiscal eletrônica (NFe) e do Documento Auxiliar da Nota Fiscal eletrônica (DANFE). Com a padronização de campos obrigatórios e a proposta de destacar informações relevantes, essas mudanças visam tornar os processos mais eficientes e objetivos.

Essa evolução foi impulsionada pelo crescimento exponencial do comércio eletrônico. Com vendas realizadas cada vez mais fora de lojas físicas, como em marketplaces e pelo telemarketing, a simplificação dos processos fiscais tornou-se indispensável.

Nesse contexto, o DANFE Simplificado – Etiqueta foi introduzido como uma solução prática para otimizar a entrega de mercadorias e facilitar a rotina de empresas e transportadores.

Continue lendo e entenda melhor esta NT e o que propõe suas versões.

Leia mais »