6.2. Sintaxe de Documentos JSON

Um documento JSON contém um valor que pode ser representado por um dos seguintes tipos: object, array, number, string, true, false, ou null. Cada um desses valores possui uma notação específica.

O tipo number representa valores numéricos, não diferenciando entre valores inteiros e números em ponto-flutuante:

1234
8.9

O tipo string é usado para representação de valores textuais, sendo delimitado por aspas duplas ("), suportando caracteres Unicode e sequências de escape utilizando o caractere \:

"Uma string deve\n aparecer entre aspas duplas"

Os valores true e false, associados ao tipo lógico são escritos da seguinte forma:

true
false

O tipo array permite representar uma sequência de valores, inclusive de tipos diferentes. Utiliza-se um par de colchetes ([ e ]) como delimitador dos elementos pertencentes à sequência, sendo os elementos separados por vírgula (,):

["CAP-419", "SER-347", 2021, true ]

O tipo object é representado por um conjunto de pares chave-valor, delimitados por um par de chaves ({ e }):

{
    "nome": "Gilberto",

    "sobrenome": "Queiroz",

    "idade": 30,

    "pesquisador": true,

    "pais": [ "Gilberto Queiroz", "Telma Queiroz" ],

    "endereco": {
        "rua": "Av. dos Astronautas",
        "numero": 1758,
        "bairro": "Jardim da Granja",
        "cidade": "São José dos Campos",
        "uf": "SP",
        "cep": "12227-010"
    }
}

Repare que o tipo object permite estruturar dados que possuam certa complexidade. No exemplo acima, a chave endereco corresponde a um valor que também é um objeto, e a chave pais corresponde a uma sequência de valores do tipo string.

Nota

Para mais detalhes sobre o formato JSON, consulte [12] e [23].