JSON é um dos formatos mais populares para representar dados como texto. Por exemplo, o JSON é usado para transferir dados entre front-end e back-end, em arquivos de configuração, em jogos, em editores de texto e em muitas outras áreas. Como programador, você definitivamente encontrará JSON.
Apresentando a sintaxe
Vamos listar os tipos de dados disponíveis em JSON:
-
Strings são quaisquer caracteres entre aspas duplas:
"kwerty""125 + 42""G"Caracteres especiais são escapados com uma barra:
"primeira linha\nsegunda linha""Ele disse: \"Olá!\"" -
Números, incluindo números negativos e reais. Sem citações:
18 -333 17,88 1,2e6 -
Os valores booleanos são true / false (sem aspas).
-
null é o valor padrão para representar "nada". Nenhuma aspa é usada aqui.
-
Array - Este tipo pode conter valores de quaisquer outros tipos. Está entre colchetes. Seus elementos são separados por vírgulas:
["Código", "Gym", "CodeGym", "¯\_(ツ)_/¯"][verdadeiro, verdadeiro, falso, verdadeiro, falso, falso, falso, falso, falso][[1, 2], [3, 999, 4, -5], [77]]O último exemplo é um array de arrays
-
Object — Este tipo complexo é o mais comumente usado. Ele contém pares chave-valor, onde o valor pode ser qualquer um dos tipos listados acima, bem como outros objetos. É envolto em chaves e os pares são separados por vírgulas:
{ "name": "Dale", "age": 7 }
Representando um objeto Java como JSON
Agora vamos pegar algum objeto Java e ver como ele se parece como JSON.
Primeiro, vamos definir uma classe:
public class Human {
String name;
boolean male;
int age;
Set<Human> parents;
public Human(String name, boolean male, int age) {
this.name = name;
this.male = male;
this.age = age;
}
}
Agora vamos criar nosso objeto:
Human father = new Human("Peter", true, 31);
Human mother = new Human("Mary", false, 28);
mother.parents = new HashSet<>();
Human son = new Human("Paul", true, 7);
son.parents = Set.of(father, mother);
E agora vamos tentar representar ofilhoobjeto com a maior precisão possível no formato JSON:
"nome" : "Paul",
"masculino": verdadeiro,
"idade": 7,
"pais": [
{
"nome": "Peter",
"masculino": verdadeiro,
"idade": 31,
"pais" : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
Comentários em JSON
Tudo aqui é exatamente o mesmo que em Java. Existem dois tipos de comentários: // e /*...*/. Espero não precisar lembrá-lo de como eles diferem.
GO TO FULL VERSION