Nach einem kurzen Blick auf Google habe ich diesen Link gefunden , der den Unterschied beschreibt, jedoch aus syntaktischer Sicht.
Wann würde in einem Programmierszenario eines dem anderen vorgezogen?
Nach einem kurzen Blick auf Google habe ich diesen Link gefunden , der den Unterschied beschreibt, jedoch aus syntaktischer Sicht.
Wann würde in einem Programmierszenario eines dem anderen vorgezogen?
Antworten:
Wenn Sie mit JSON-Daten in Android arbeiten, würden Sie JSONArray
JSON analysieren, das mit den Array-Klammern beginnt. Arrays in JSON werden verwendet, um eine Sammlung verwandter Elemente zu organisieren (dies können JSON-Objekte sein).
Beispielsweise:[{"name":"item 1"},{"name": "item2} ]
Auf der anderen Seite würden Sie verwenden, JSONObject
wenn Sie mit JSON arbeiten, das mit geschweiften Klammern beginnt. Ein JSON-Objekt wird normalerweise verwendet, um Schlüssel / Wert-Paare zu enthalten, die sich auf ein Element beziehen. Beispielsweise:{"name": "item1", "description":"a JSON object"}
Natürlich können JSON-Arrays und -Objekte ineinander verschachtelt sein. Ein häufiges Beispiel hierfür ist eine API, die ein JSON-Objekt zurückgibt, das einige Metadaten neben einem Array der Elemente enthält, die Ihrer Abfrage entsprechen:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
Der Unterschied ist der gleiche wie bei einer (Hash) Map vs List.
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
ist gleich {name: 'B', id: 1}
.JSONArray:
[1, 'value']
[1,'value']
ist nicht dasselbe wie['value',1]
Beispiel
JSON Object --> { "":""}
JSON Array --> [ , , , ]
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
Am besten programmgesteuert verstehen.
Wenn die Syntax
{}
dann ist, ist diesJsonObject
Wenn die Syntax
[]
dann ist, ist diesJsonArray
A JSONObject
ist ein JSON-ähnliches Objekt, das als Element in der dargestellt werden kann JSONArray
. JSONArray
kann ein (oder viele) enthaltenJSONObject
Hoffe das wird dir helfen!
Ich benutze immer Objekt, es ist leichter erweiterbar, JSON-Array nicht. Zum Beispiel hatten Sie ursprünglich einige Daten als JSON-Array, dann mussten Sie einen Status-Header hinzufügen. Sie würden ein bisschen stecken bleiben, es sei denn, Sie hätten die Daten in einem Objekt verschachtelt. Der einzige Nachteil ist eine leichte Zunahme der Komplexität der Erstellung / Analyse.
Also statt
[datum0, datum1, datumN]
Das hättest du
{data: [datum0, datum1, datumN]}
dann später können Sie weitere hinzufügen ...
{status: "foo", data: [datum0, datum1, datumN]}
Um es einfacher zu verstehen, folgen die folgenden Unterschiede zwischen dem JSON-Objekt und dem JSON-Array:
Link zum tabellarischen Unterschied: 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.
JSON-Objekt
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.
Wenn ein JSON mit {} beginnt, ist es ein Objekt- JSON-Objekt und wenn es mit [] beginnt, ist es ein Array- JOSN-Array
Ein JSON-Array kann aus mehreren Objekten bestehen und wird als Array von Objekten bezeichnet
Ich weiß, alle vorherigen Antworten sind aufschlussreich für Ihre Frage. Ich hatte diese Verwirrung auch nur eine Minute bevor ich diesen SO Thread gefunden habe. Nachdem ich einige der Antworten gelesen habe, erhalte ich Folgendes : Ein JSONObject ist ein JSON-ähnliches Objekt, das als Element im Array, dem JSONArray, dargestellt werden kann. Mit anderen Worten, ein JSONArray kann ein (oder mehrere) JSONObject enthalten.