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?
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
quelle
Am besten programmgesteuert verstehen.
A
JSONObject
ist ein JSON-ähnliches Objekt, das als Element in der dargestellt werden kannJSONArray
.JSONArray
kann ein (oder viele) enthaltenJSONObject
Hoffe das wird dir helfen!
quelle
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
Das hättest du
dann später können Sie weitere hinzufügen ...
quelle
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
JSON-Objekt
quelle
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
quelle
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.
quelle