Executando verificação de segurança...
Em resposta a O Que É JSON?
3

Vale lembrar que as normas atuais (RFC 8259 e ECMA 404) definem que qualquer JSON Value é um JSON válido.

Ou seja, se eu tiver apenas 42, "Fulano" ou true, todos esses são JSON's válidos (uma API Web que retorne somente isso é perfeitamente válido e tecnicamente correto).

Eu sei que hoje em dia a esmagadora maioria das API's Web retorna um objeto, mas isso não quer dizer que é a única possibilidade. Nada impede que eu retorne apenas um número, uma string, um booleano ou um array.

O exemplo clássico (que eu já vi por aí) é, por exemplo, uma API que tem a URL /users retornando algo como:

{
    "usuário 0": { "nome": "Fulano", "idade": 42 },
    "usuário 1": { "nome": "Ciclano", "idade": 20 },
    "usuário 2": { "nome": "Beltrano", "idade": 30 }
}

Só que as chaves "usuário X" não acrescentam nenhuma informação relevante - se a URL é /users, eu já sei que ela retorna dados de usuários, então o retorno poderia muito bem ser um array:

[
    { "nome": "Fulano", "idade": 42 },
    { "nome": "Ciclano", "idade": 20 },
    { "nome": "Beltrano", "idade": 30 }
]

A própria API do TabNews faz isso: ao acessar https://www.tabnews.com.br/api/v1/contents, o retorno é um array de objetos (repare que começa com [).

Outro exemplo seria uma URL como /users/quantidade que retorna a quantidade de usuários. Em vez de retornar { "quantidadeUsuarios": 42 }, por que não retornar apenas 42? Afinal, a URL já indica que é a quantidade de usuários, não tem porque trafegar informação redundante.

Carregando publicação patrocinada...