Depois de dar uma olhada rápida no Google, encontrei este link que descreve a diferença, ainda do ponto de vista da sintaxe.
Quando um seria preferido em relação ao outro em um cenário de programação?
Ao trabalhar com dados JSON no Android, você usaria JSONArray
para analisar JSON, que começa com os colchetes da matriz. Arrays em JSON são usados para organizar uma coleção de itens relacionados (que podem ser objetos JSON).
Por exemplo:[{"name":"item 1"},{"name": "item2} ]
Por outro lado, você usaria JSONObject
ao lidar com JSON que começa com chaves. Um objeto JSON é normalmente usado para conter pares de chave / valor relacionados a um item. Por exemplo:{"name": "item1", "description":"a JSON object"}
Obviamente, os arrays e objetos JSON podem ser aninhados uns dentro dos outros. Um exemplo comum disso é uma API que retorna um objeto JSON contendo alguns metadados ao lado de uma matriz dos itens que correspondem à sua consulta:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
A diferença é a mesma que um mapa (hash) versus lista.
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
é igual a{name: 'B', id: 1}
.JSONArray:
[1, 'value']
[1,'value']
não é o mesmo que['value',1]
Exemplo
fonte
Melhor compreensão programática.
A
JSONObject
é um objeto semelhante a JSON que pode ser representado como um elemento noJSONArray
.JSONArray
pode conter um (ou muitos)JSONObject
Espero que isso seja útil para você!
fonte
Eu sempre uso objeto, é mais facilmente extensível, array JSON não é. Por exemplo, você originalmente tinha alguns dados como um array json, então você precisava adicionar um cabeçalho de status nele, você ficaria um pouco preso, a menos que tivesse aninhado os dados em um objeto. A única desvantagem é um ligeiro aumento na complexidade de criação / análise.
Então, em vez de
Você teria
então mais tarde você pode adicionar mais ...
fonte
Para entender de forma mais fácil, a seguir estão as diferenças entre o objeto JSON e a matriz JSON:
Link para a diferença tabular: https://i.stack.imgur.com/GIqI9.png
JSON Array
Objeto JSON
fonte
Quando um JSON começa com {} é um objeto JSON Object e quando começa com [] é um Array JOSN Array
Uma matriz JSON pode consistir em um / muitos objetos e isso é chamado de matriz de objetos
fonte
Eu sei, todas as respostas anteriores são esclarecedoras para sua pergunta. Eu também gostei de você esta confusão apenas um minuto antes de encontrar este tópico SO. Depois de ler algumas das respostas, aqui está o que eu obtenho: Um JSONObject é um objeto semelhante a JSON que pode ser representado como um elemento no array, o JSONArray. Em outras palavras, um JSONArray pode conter um (ou vários) JSONObject.
fonte