Dopo aver dato una breve occhiata a Google ho trovato questo link che descrive la differenza, ma dal punto di vista della sintassi.
Quando uno sarebbe preferito rispetto all'altro in uno scenario di programmazione?
Dopo aver dato una breve occhiata a Google ho trovato questo link che descrive la differenza, ma dal punto di vista della sintassi.
Quando uno sarebbe preferito rispetto all'altro in uno scenario di programmazione?
Risposte:
Quando lavori con i dati JSON in Android, dovresti usare JSONArray
per analizzare JSON che inizia con le parentesi dell'array. Gli array in JSON vengono utilizzati per organizzare una raccolta di elementi correlati (che potrebbero essere oggetti JSON).
Per esempio:[{"name":"item 1"},{"name": "item2} ]
D'altra parte, JSONObject
useresti quando hai a che fare con JSON che inizia con le parentesi graffe. Un oggetto JSON viene in genere utilizzato per contenere coppie chiave / valore correlate a un elemento. Per esempio:{"name": "item1", "description":"a JSON object"}
Ovviamente, gli array e gli oggetti JSON possono essere annidati l'uno nell'altro. Un esempio comune di ciò è un'API che restituisce un oggetto JSON contenente alcuni metadati insieme a un array di elementi che corrispondono alla tua query:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
La differenza è la stessa di una mappa (hash) vs elenco.
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
è uguale a {name: 'B', id: 1}
.JSONArray:
[1, 'value']
[1,'value']
non è lo stesso di['value',1]
Esempio
JSON Object --> { "":""}
JSON Array --> [ , , , ]
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
Migliore comprensione programmatica.
quando la sintassi è
{}
allora questo èJsonObject
quando la sintassi è
[]
allora questo èJsonArray
A JSONObject
è un oggetto simile a JSON che può essere rappresentato come un elemento in JSONArray
. JSONArray
può contenere uno (o molti)JSONObject
Spero che questo ti sia d'aiuto!
Uso sempre object, è più facilmente estendibile, l'array JSON non lo è. Ad esempio, originariamente avevi alcuni dati come array json, quindi dovevi aggiungere un'intestazione di stato su di esso, saresti rimasto un po 'bloccato, a meno che non avessi annidato i dati in un oggetto. L'unico svantaggio è un leggero aumento della complessità della creazione / analisi.
Quindi invece di
[datum0, datum1, datumN]
Avresti
{data: [datum0, datum1, datumN]}
poi più tardi puoi aggiungere altro ...
{status: "foo", data: [datum0, datum1, datumN]}
Per capirlo in modo più semplice, di seguito sono riportate le differenze tra oggetto JSON e array JSON:
Collegamento alla differenza tabulare: 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.
Oggetto 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 un JSON inizia con {} è un oggetto JSON Object e quando inizia con [] è un Array JOSN Array
Un array JSON può essere costituito da uno / molti oggetti e viene chiamato array di oggetti
Lo so, tutte le risposte precedenti sono perspicaci per la tua domanda. Anch'io come te ho avuto questa confusione solo un minuto prima di trovare questo thread SO. Dopo aver letto alcune delle risposte, ecco cosa ottengo: Un JSONObject è un oggetto simile a JSON che può essere rappresentato come un elemento nell'array, il JSONArray. In altre parole, un JSONArray può contenere uno (o molti) JSONObject.