JS-0604 - JavaScript Completo ES6 - JSON

Um formato de dados baseado em texto
O JSON (JavaScript Object Notation) é um formato de organização de dados baseados em texto, seguindo a sintaxe do objeto JS, contudo, mesmo que se assemelhe a um objeto JavaScript, o JSON pode ser utilizado por diversas linguagens de programação, tais como PHP, Python e Ruby.
Em formato texto (string) sua transferência pela rede é simplificada, se tornando muito útil, bastando realizar conversões do texto em objeto na recepção (análise) ou objeto em texto na transmissão (stringification). O JavaScript tem um objeto JSON global que possui os métodos necessários para as conversões.
Um JSON pode ser armazenado em seu próprio arquivo, sendo apenas um arquivo de texto com uma extensão .json, e um MIME type application/json.
Sua composição obedece o padrão chave, propriedade e valor, sendo obrigatório o uso de aspas duplas nas propriedades e em valores do tipo string. Ex:
Os valores nesse tipo de formato podem ser do tipo numbers, strings, boolean, arrays, objetos e null. Importante: o último item de um array ou objeto não conter vírgula após este, assim como o último elemento do JSON. Ex:
Inicializando o exemplo em um servidor local, os dados são obtidos através de um fetch. Ex:
Os dois métodos do objeto JSON do JS são o parse e o stringify.
- Método parse: transforma um texto JSON em um objeto JS. O método .json(), quando utilizado, retorna o parse do objeto JSON; e
- Método stringify: transforma um objeto JS tem um texto JSON.
Transformando um texto em objeto JS com o parse:
Transformando um objeto JS em texto com o stringify:
Considerações importantes:
- JSON é puramente um formato de dados, contendo apenas propriedades, sem métodos;
- Requer aspas duplas para serem usadas em torno de strings e nomes de propriedades. Aspas simples não são válidas;
- Uma única vírgula ou ponto e vírgula perdidos podem quebrar o JSON;
- Podem realmente assumir a forma de qualquer tipo de dados que seja válido para inclusão dentro do JSON, não apenas matrizes ou objetos; e
- Ao contrário JavaScript no qual as propriedades do objeto podem estar sem aspas, em JSON, somente strings entre aspas podem ser usadas como propriedades.