Po krótkim spojrzeniu na Google znalazłem ten link który opisuje różnicę, ale z punktu widzenia składni.
Kiedy jeden byłby preferowany nad drugim w scenariuszu programowania?
Podczas pracy z danymi JSON w systemie Android można użyć JSONArray
do przeanalizowania JSON, który zaczyna się od nawiasów tablicy. Tablice w formacie JSON służą do organizowania kolekcji powiązanych elementów (które mogą być obiektami JSON).
Na przykład:[{"name":"item 1"},{"name": "item2} ]
Z drugiej strony użyłbyś JSONObject
użyłbyś w przypadku JSON, który zaczyna się od nawiasów klamrowych. Obiekt JSON jest zwykle używany do przechowywania par klucz / wartość związanych z jednym elementem. Na przykład:{"name": "item1", "description":"a JSON object"}
Oczywiście tablice i obiekty JSON mogą być zagnieżdżone jeden w drugim. Jednym z typowych przykładów jest interfejs API, który zwraca obiekt JSON zawierający pewne metadane wraz z tablicą elementów pasujących do zapytania:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
Różnica jest taka sama, jak w przypadku (Hash) Map vs List.
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
jest równy{name: 'B', id: 1}
.JSONArray:
[1, 'value']
[1,'value']
nie jest tym samym co['value',1]
Przykład
źródło
Najlepsze zrozumienie programowe.
A
JSONObject
to obiekt podobny do JSON, który można przedstawić jako element wJSONArray
.JSONArray
może zawierać (lub wiele)JSONObject
Mam nadzieję, że to Ci pomoże!
źródło
Zawsze używam obiektu, jest łatwiejszy do rozszerzenia, tablica JSON nie. Na przykład pierwotnie miałeś jakieś dane jako tablicę json, a potem musiałeś dodać do niej nagłówek statusu, trochę byś utknął, chyba że zagnieżdżasz dane w obiekcie. Jedyną wadą jest niewielki wzrost złożoności tworzenia / analizowania.
Więc zamiast
Miałbyś
później możesz dodać więcej ...
źródło
Aby łatwiej to zrozumieć, poniżej przedstawiono różnice między obiektem JSON a tablicą JSON:
Link do różnicy tabelarycznej: https://i.stack.imgur.com/GIqI9.png
Tablica JSON
Obiekt JSON
źródło
Gdy JSON zaczyna się od {}, jest obiektem Object JSON, a kiedy zaczyna się od [], jest to Array JOSN Array
Tablica JSON może składać się z / wielu obiektów i jest nazywana tablicą obiektów
źródło
Wiem, wszystkie poprzednie odpowiedzi są wnikliwe na twoje pytanie. Ja też tak jak ty miałem to zamieszanie zaledwie minutę przed znalezieniem tego SO wątku. Po przeczytaniu niektórych odpowiedzi otrzymałem następujące informacje: JSONObject to obiekt podobny do JSON, który można przedstawić jako element tablicy, JSONArray. Innymi słowy, JSONArray może zawierać (lub wiele) JSONObject.
źródło