O JSON (JavaScript Object Notation) tornou-se um dos formatos de dados mais populares para a troca de informações entre sistemas, especialmente em aplicações web e bancos de dados NoSQL. Sua estrutura simples e legível permite que dados semiestruturados sejam armazenados e manipulados de forma eficiente. Em bancos de dados NoSQL, como MongoDB, CouchDB e RavenDB, o JSON é frequentemente utilizado como formato nativo para documentos, proporcionando flexibilidade na definição de esquemas e facilitando a integração com aplicações modernas.
JSON é composto por pares de chave-valor e listas ordenadas de valores. Aqui estão os elementos básicos da sintaxe JSON:
Objetos JSON
Objetos são coleções de pares chave-valor, delimitados por chaves {}. Cada chave é uma string, e os valores podem ser strings, números, objetos, arrays, booleanos (true ou false), ou null.
{ “nome”: “João”, “idade”: 30, “casado”: true, “filhos”: [“Ana”, “Lucas”], “endereco”: { “rua”: “Rua das Flores”, “numero”: 123, “cidade”: “São Paulo” } }
Neste exemplo, temos um objeto JSON representando uma pessoa com atributos como nome, idade, estado civil, filhos e endereço. O campo filhos é um array, e endereco é outro objeto JSON aninhado.
Arrays JSON
Arrays são listas ordenadas de valores, delimitados por colchetes []. Os valores dentro de um array podem ser de qualquer tipo permitido em JSON.
{ “produtos”: [ { “id”: 1, “nome”: “Laptop”, “preco”: 1500.00, “emEstoque”: true }, { “id”: 2, “nome”: “Mouse”, “preco”: 50.00, “emEstoque”: false } ] }
Aqui, temos um objeto JSON que contém um array de produtos, cada um representado por um objeto com seus respectivos atributos.
Exemplos Práticos
Comunicação entre Servidor e Cliente
JSON é amplamente utilizado em APIs RESTful para a comunicação entre servidores e clientes. Um servidor pode responder a uma requisição com dados formatados em JSON:
{ “status”: “sucesso”, “dados”: { “usuario”: “Maria”, “mensagens”: 5 } }
Neste caso, o servidor está informando que a operação foi bem-sucedida e fornecendo dados adicionais sobre o usuário e o número de mensagens.
Configurações de Aplicações
Muitas aplicações modernas utilizam arquivos JSON para configurações devido à sua simplicidade e legibilidade.
{ “servidor”: “localhost”, “porta”: 8080, “logNivel”: “debug”, “autenticacao”: { “usuario”: “admin”, “senha”: “123456” } }
Este exemplo mostra um arquivo de configuração para uma aplicação, especificando o servidor, porta, nível de log e informações de autenticação.
Integração com Bancos de Dados NoSQL
Em um banco de dados NoSQL orientado a documentos, como MongoDB, um documento JSON pode ser armazenado diretamente:
{ “titulo”: “Introdução ao NoSQL”, “autor”: “Carlos Silva”, “ano”: 2022, “topicos”: [“NoSQL”, “Bancos de Dados”, “JSON”] }
Neste caso, o documento representa um livro com atributos como título, autor, ano e tópicos, e pode ser consultado, inserido ou atualizado no banco de dados de forma eficiente.
JSON é uma ferramenta poderosa e versátil que facilita a manipulação e troca de dados em diversas plataformas e aplicações, sendo essencial para a integração e funcionamento de sistemas modernos, especialmente aqueles que utilizam bancos de dados NoSQL.
Vamos praticar!!!
Prova: FGV – 2022 – PC-AM – Perito Criminal – 4ª Classe – Processamento de Dados
Sobre as regras sintáticas do JSON (JavaScript Object Notation), avalie as seguintes afirmativas: I. Dados são codificados como pares name/value. II. Dados são separados por barras verticais “|”. III. Chaves { } delimitam objetos. IV. Colchetes [ ] delimitam arrays.
Está correto somente o que é afirmado em:
A) I e II.
B) II e III.
C) III e IV.
D) I, II e III.
E) I, III e IV.
Gabarito: E) I, III e IV.
Comentário:
- I. Dados são codificados como pares name/value. – Correto. No JSON, os dados são codificados como pares chave/valor (name/value).
- II. Dados são separados por barras verticais “|”. – Incorreto. No JSON, os dados são separados por vírgulas, não por barras verticais.
- III. Chaves { } delimitam objetos. – Correto. Em JSON, objetos são delimitados por chaves { }.
- IV. Colchetes [ ] delimitam arrays. – Correto. Em JSON, arrays são delimitados por colchetes [ ].
Portanto, as afirmativas I, III e IV estão corretas.
Prova: FGV – 2021 – Banestes – Analista em Tecnologia da Informação – Suporte e Infraestrutura
O script JSON corretamente formado é:
A) {loja:”ImportCar”,ranking ,carros:[“Audi”,”BMW”]}
B) {“loja”:”ImportCar”,”ranking” ,”carros”:{“Audi”,”BMW”}}
C) {loja,ranking,carros:[“Audi”,”BMW”]}
D) {loja,ranking,carros:[Audi;BMW]}
E) {“loja”:”ImportCar”,”ranking”,”carros”:[“Audi”,”BMW”]}
Gabarito: E) {“loja”:”ImportCar”,”ranking”,”carros”:[“Audi”,”BMW”]}
Comentários:
A) {loja:”ImportCar”,ranking,carros:[“Audi”,”BMW”]}
Comentário: Incorreto. As chaves do JSON devem estar entre aspas duplas (” “). Correto seria: {“loja”:”ImportCar”,”ranking”:null,”carros”:[“Audi”,”BMW”]}.
B) {“loja”:”ImportCar”,”ranking”,”carros”:{“Audi”,”BMW”}}
Comentário: Incorreto. Os valores do array carros devem estar entre colchetes [ ], não entre chaves { }. Correto seria: {“loja”:”ImportCar”,”ranking”:null,”carros”:[“Audi”,”BMW”]}.
C) {loja,ranking,carros:[“Audi”,”BMW”]}
Comentário: Incorreto. As chaves do JSON e o valor da string ImportCar devem estar entre aspas duplas (” “). Correto seria: {“loja”:”ImportCar”,”ranking”:null,”carros”:[“Audi”,”BMW”]}.
D) {loja,ranking,carros:[Audi;BMW]}
Comentário: Incorreto. Além das chaves e o valor da string ImportCar precisarem estar entre aspas duplas (” “), os valores do array carros devem estar separados por vírgulas (,) e não por ponto e vírgula (;). Correto seria: {“loja”:”ImportCar”,”ranking”:null,”carros”:[“Audi”,”BMW”]}.
E) {“loja”:”ImportCar”,”ranking”,”carros”:[“Audi”,”BMW”]}
Comentário: Correto. Este é o único script JSON corretamente formado. As chaves estão entre aspas duplas (” “), os valores das strings estão corretamente entre aspas duplas, e os valores do array carros estão entre colchetes [ ] e separados por vírgulas (,).
Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil?
clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
clique no link abaixo e inscreva-se gratuitamente: