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?
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?
Respostas:
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
JSON Object --> { "":""}
JSON Array --> [ , , , ]
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
Melhor compreensão programática.
quando a sintaxe é,
{}
então isso éJsonObject
quando a sintaxe é,
[]
então isso éJsonArray
A JSONObject
é um objeto semelhante a JSON que pode ser representado como um elemento no JSONArray
. JSONArray
pode conter um (ou muitos)JSONObject
Espero que isso seja útil para você!
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
[datum0, datum1, datumN]
Você teria
{data: [datum0, datum1, datumN]}
então mais tarde você pode adicionar mais ...
{status: "foo", data: [datum0, datum1, datumN]}
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
1. Arrays in JSON are used to organize a collection of related items
(Which could be JSON objects)
2. Array values must be of type string, number, object, array, boolean or null
3. Syntax:
[ "Ford", "BMW", "Fiat" ]
4. JSON arrays are surrounded by square brackets [].
**Tip to remember** : Here, order of element is important. That means you have
to go straight like the shape of the bracket i.e. straight lines.
(Note :It is just my logic to remember the shape of both.)
5. Order of elements is important. Example: ["Ford","BMW","Fiat"] is not
equal to ["Fiat","BMW","Ford"]
6. JSON can store nested Arrays that are passed as a value.
Objeto JSON
1. JSON objects are written in key/value pairs.
2. Keys must be strings, and values must be a valid JSON data type (string, number,
object, array, boolean or null).Keys and values are separated by a colon.
Each key/value pair is separated by a comma.
3. Syntax:
{ "name":"Somya", "age":25, "car":null }
4. JSON objects are surrounded by curly braces {}
Tip to remember : Here, order of element is not important. That means you can go
the way you like. Therefore the shape of the braces i.e. wavy.
(Note : It is just my logic to remember the shape of both.)
5. Order of elements is not important.
Example: { rollno: 1, firstname: 'Somya'}
is equal to
{ firstname: 'Somya', rollno: 1}
6. JSON can store nested objects in JSON format in addition to nested arrays.
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
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.