É bastante comum pra galera que ta começando na programação ficar um pouco perdido com muitos acronismos nas primeiras semanas. Hoje, vamos dar uma passada sobre algo que é muito comum no dia a dia da nossa profissão e que é bem fácil de pegar as manhas, pode confiar!! Neste artigo, vamos explicar o que significa a sigla JSON, como pode ser usado, como é a estrutura dele e muito mais! Bora lá?
Índice
- O que é JSON afinal?
- Já não existia uma forma de transportar dados assim antes?
- Qual é a diferença entre JSON e XML?
- Ainda vale a pena usar XML?
- Vantagens do JSON
- Exemplo prático com Carros
O que é JSON afinal?
O JSON ou "JavaScript Object Notation" é um formato básico para transportar dados, criado em 2000. Mas ao ler o nome, você pode se perguntar:
"Se tem JavaScript no nome, então só posso usá-lo com JavaScript, certo?" - Você, 2024
Não exatamente, pelo fato, de ser um formato leve e simples, ele é fácil de ser lido por outras linguagens e, o mais importante, por pessoas.
"Bem, se é uma maneira leve e simples de transportar dados, então vou usá-lo como um banco de dados." - Você, 2024
Eu não recomendaria...
Por quê? Bom, embora o JSON seja ótimo para transportar dados por causa de sua simplicidade e legibilidade, usá-lo como banco de dados pode não ser a melhor ideia. Arquivos JSON não são projetados para lidar com grandes quantidades de dados de forma eficiente. Eles não possuem recursos de indexação, consulta e transações como bancos de dados SQL (como MySQL e PostgreSQL) ou bancos de dados NoSQL (como MongoDB e ScyllaDB). Usar JSON como banco de dados pode levar a problemas de desempenho, integridade de dados e desafios na gestão de acesso concorrente aos dados.
Não existia uma forma de transportar dados assim antes?
Claro que sim. A principal linguagem usada era o XML (Extensible Markup Language), projetada para ser uma linguagem de marcação flexível e personalizável. Embora seja poderosa e altamente extensível, pode ser bastante verbosa, dificultando sua legibilidade. Cada pedaço de dado no XML é cercado por tags, o que pode aumentar o tamanho do arquivo e a complexidade, especialmente em documentos maiores ou conjuntos de dados.
Qual é a diferença entre JSON e XML?
JSON e XML são ambos formatos de serialização de dados. JSON é mais conciso, o que o torna mais fácil de ler e mais rápido de analisar, sendo bem adaptado às estruturas de dados das linguagens de programação modernas. O XML, por outro lado, é mais verboso com o uso de tags explícitas de início e fim, suportando uma estrutura hierárquica mais complexa adequada para aplicações que exigem metadados detalhados. Enquanto o JSON é preferido para APIs Web devido à sua eficiência, o XML é preferido em ambientes que requerem marcação extensiva de documentos, como aplicações empresariais.
Da uma olhadinha nesse exemplo em XML para comparação:
<livraria> <livro> <titulo>Aprendendo XML</titulo> <autor>Erik T. Ray</autor> <preco>29.99</preco> </livro> <livro> <titulo>JSON para Iniciantes</titulo> <autor>iCode Academy</autor> <preco>39.95</preco> </livro> </livraria>
E agora temos esse mesmo exemplo, mas agora no formato JSON:
{ "livraria": { "livros": [ { "titulo": "Aprendendo XML", "autor": "Erik T. Ray", "preco": 29.99 }, { "titulo": "JSON para Iniciantes", "autor": "iCode Academy", "preco": 39.95 } ] } }
Ainda vale a pena usar o XML?
Bom, vai depender do seu objetivo, mas na minha opinião, sempre vale a pena dar uma olhada em alguma coisa que você não conhece, mesmo que você não pretenda usar, só para ter uma ideia do que é e como é usado. Você pode se deparar com um problema que o XML pode resolver um dia, vai saber.
Vantagens do JSON
Então, como você já viu, a principal razão para usar JSON é sua legibilidade, mas vamos listar suas principais vantagens:
- Fácil de Ler: JSON tem uma estrutura clara e direta.
- Fácil de Parsear: Sua sintaxe simples facilita a na hora de converter.
- Compacto: JSON tende a ser mais leve, economizando espaço e largura de banda.
- Universal: Amplamente suportado por várias linguagens de programação e plataformas, usado por grandes empresas como Google e Twitter.
Sintaxe JSON
A sintaxe JSON é direta e sem muito segredo, seguindo algumas regras básicas:
- Dados em pares de nome/valor: Cada elemento de dado em JSON é representado como um par de chave (ou nome) e valor, separados por dois pontos.
- Dados separados por vírgulas: Múltiplos pares de chave-valor dentro de um objeto são separados por vírgulas.
- Objetos são envoltos por chaves: Um objeto em JSON é cercado por chaves
{}
. - Arrays são envoltos por colchetes: Um array em JSON é cercado por colchetes
[]
.
Mas é mais fácil visualizar do que ler, então aqui estão alguns exemplos para você, junto com a definição de cada tipo:
Tipos de Dados JSON
JSON suporta os seguintes tipos de dados:
- String: Uma sequência de caracteres, cercada por aspas duplas.
"nome": "João Silva"
- Número: Valores numéricos, podem ser inteiros ou de ponto flutuante.
"idade": 30
- Objeto: Uma coleção de pares chave-valor, cercados por chaves.
"endereço": { "rua": "Rua Principal", "cidade": "Cidade Exemplo" }
- Array: Uma lista ordenada de valores, cercada por colchetes.
"cursos": ["Matemática", "Ciências", "História"]
- Boolean: Valores verdadeiro ou falso.
"éEstudante": false
- Null: Representa um valor nulo.
"nomeDoMeio": null
E não, você não pode escrever comentarios em arquivo um JSON :D
Exemplo prático com Carros
Vamos dizer que você quer manter registros de carros e seus detalhes. Aqui está um exemplo de como esses registros podem ser organizados em JSON:
{ "carros": [ { "marca": "Toyota", "modelo": "Corolla", "ano": 2020, "características": { "cor": "Azul", "transmissão": "Automática" } }, { "marca": "Toyota", "modelo": "Corolla", "ano": 2021, "características": { "cor": "Vermelha", "transmissão": "Automática" } } ] }
Se você quiser adicionar mais carros, basta adicionar mais objetos ao array de carros na estrutura JSON.
E isso pode ser facilmente feito analisando o JSON em uma linguagem de sua escolha e, em seguida, manipulando-o como desejar. Aqui estão alguns exemplos usando o JSON mostrado anteriormente para dar uma ideia melhor de como ler e analisar um arquivo JSON:
Trabalhando com JSON em JavaScript
const fs = require('fs').promises const jsonPath = 'C:docs/example/example.json' const readJsonFile = async () => { // Lê o conteúdo do JSON e garante que seja lido como uma string const jsonContent = await fs.readFile(jsonPath, 'utf-8') // Converte o JSON em um objeto JavaScript const data = JSON.parse(jsonContent) console.log(data.carros[0]) // Saída: { marca: "Toyota", modelo: "Corolla", ano: 2020, características: { cor: "Azul", transmissão: "Automática" } } console.log(data.carros[1]) // Saída: { marca: "Toyota", modelo: "Corolla", ano: 2021, características: { cor: "Vermelha", transmissão: "Automática" } } } readJsonFile()
Trabalhando com JSON em Python
import json # Lê o arquivo JSON with open('C:docs/example/example.json', 'r') as jsonFile: # Analisa o conteúdo do JSON jsonContent = json.load(jsonFile) print(jsonContent['carros'][0]) # Saída: {'marca': 'Toyota', 'modelo': 'Corolla', 'ano': 2020, 'características': {'cor': 'Azul', 'transmissão': 'Automática'}} print(jsonContent['carros'][1]) # Saída: {'marca': 'Toyota', 'modelo': 'Corolla', 'ano': 2021, 'características': {'cor': 'Vermelha', 'transmissão': 'Automática'}}
Trabalhando com JSON em PHP
<?php $jsonPath = 'C:docs/example/example.json'; // Lê o conteúdo do JSON $contents = file_get_contents($jsonPath); // Converte o conteúdo do JSON em um Objeto PHP $jsonContent = json_decode($contents); print_r($jsonContent->carros[1]); // Saída: stdClass Object // ( // [marca] => Toyota // [modelo] => Corolla // [ano] => 2021 // [características] => stdClass Object // ( // [cor] => Vermelha // [transmissão] => Automática // ) // ) ?>
Trabalhando com JSON em Java
package org.example; import org.json.JSONArray; import org.json.JSONObject; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; public class Main { public static void main(String[] args) throws IOException { String jsonFilePath = "C:docs/example/example.json"; // Lê o conteúdo do arquivo e converte em uma string String jsonContent = Files.readString(Paths.get(jsonFilePath), StandardCharsets.UTF_8); // Converte o conteúdo da string em um Objeto JSON JSONObject jsonExample = new JSONObject(jsonContent); JSONArray carros = jsonExample.getJSONArray("carros"); System.out.println(carros.get(0)); // Saída: {"características": {"transmissão":"Automática","cor":"Azul"},"ano":2020,"modelo":"Corolla","marca":"Toyota"} System.out.println(carros.get(1)); // Saída: {"características":{"transmissão":"Automática","cor":"Vermelha"},"ano":2021,"modelo":"Corolla","marca":"Toyota"} } }
PS: O exemplo em Java usa uma biblioteca json. Se você for testá-lo, certifique-se de incluí-la nas suas dependências.
Conclusão
Entender JSON pode parecer complicado no começo, mas na verdade é muito simples quando você pega o jeito! Demos uma passada sobre o que é JSON, como é usado e por que é tão útil.
Desde entender sua sintaxe até vê-lo em ação em diferentes linguagens de programação, agora você está pronto para dar os primeiros passos e começar a usar JSON em seus projetos.
Se você ainda tiver alguma dúvida, sinta-se à vontade para me perguntar diretamente. Espero que tenha gostado do artigo - não se esqueça de curtir e compartilhar com aquele amigo que ainda está lutando para entender JSON.
Feedback sobre o artigo são sempre bem-vindos para que eu possa melhorar nos próximos. Obrigado por ler, mantenha-se saudável e beba água!
Top comments (4)
Muito bom primo !
Muito bom!! Obrigado por compartilhar
Amei o contéudo!
💜💜💜💜💜💜💜