Javascript Object Notation
O JSON é o formato que constitui objetos/structs no Javascript, embora seja largamente utilizado para comunicação entre sistema devido a sua simplicidade e tamanho reduzido.
Nele descrevemos atributos e valores, como se fosse um dicionário.
{
"idade": 25,
"nome": "Augusto",
"casado": "false",
"cônjuge": null,
"filhos": []
}
Os tipos do JSON são: número, string, booleano, objeto e null.
{
"idade": 35,
"nome": "Maria",
"casado": "true",
**"cônjuge": {
"idade": 37,
"nome": "Carla",
},**
"filhos": []
}
O null representa um valor enquanto o undefined representa a não existência de um atributo.
const pessoa = {
"idade": 35,
"nome": "Maria",
"casado": "true",
**"cônjuge": undefined,**
"filhos": []
}
Por se tratar de ser um JSON os objetos possuem uma chave, o nome do atributo, e um valor.
let pets = ['dog', 'chicken', 'cat', 'dog', 'chicken', 'chicken', 'rabbit'];
let petCounts = pets.reduce(function(obj, pet){
if (!obj[pet]) {
obj[pet] = 1;
} else {
obj[pet]++;
}
return obj;
}, {});
console.log(petCounts);
/*
Output:
{
dog: 2,
chicken: 3,
cat: 1,
rabbit: 1
}
*/