Бегло взглянув на Google, я нашел ссылку, которая описывает разницу, но с точки зрения синтаксиса.
Когда в сценарии программирования одно предпочтительнее другого?
Когда вы работаете с данными JSON в Android, вы должны использовать JSONArray
для синтаксического анализа JSON, который начинается с скобок массива. Массивы в JSON используются для организации коллекции связанных элементов (которые могут быть объектами JSON).
Например:[{"name":"item 1"},{"name": "item2} ]
С другой стороны, вы можете использовать его JSONObject
при работе с JSON, который начинается с фигурных скобок. Объект JSON обычно используется для хранения пар ключ / значение, связанных с одним элементом. Например:{"name": "item1", "description":"a JSON object"}
Конечно, массивы и объекты JSON могут быть вложены друг в друга. Одним из распространенных примеров этого является API, который возвращает объект JSON, содержащий некоторые метаданные, вместе с массивом элементов, соответствующих вашему запросу:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
Разница такая же, как у (хеш-карты) карты и списка.
JSONObject:
{ID : 1}
{id: 1, name: 'B'}
равен{name: 'B', id: 1}
.JSONArray:
[1, 'value']
[1,'value']
не совпадает с['value',1]
пример
источник
Лучшее программное понимание.
A
JSONObject
- это объект, подобный JSON, который может быть представлен как элемент вJSONArray
.JSONArray
может содержать (или несколько)JSONObject
Надеюсь, это поможет вам!
источник
Я всегда использую объект, его легче расширить, а массив JSON - нет. Например, изначально у вас были некоторые данные в виде массива json, затем вам нужно было добавить к нему заголовок статуса, и вы бы немного застряли, если вы не вложили данные в объект. Единственный минус - небольшое увеличение сложности создания / разбора.
Так что вместо
У тебя было бы
потом вы можете добавить еще ...
источник
Чтобы понять это проще, ниже приведены различия между объектом JSON и массивом JSON:
Ссылка на табличную разницу: https://i.stack.imgur.com/GIqI9.png
Массив JSON
Объект JSON
источник
Когда JSON начинается с {}, это объект Object JSON, а когда он начинается с [], это массив JOSN Array
Массив JSON может состоять из нескольких объектов и называется массивом объектов.
источник
Я знаю, что все предыдущие ответы на ваш вопрос проницательны. Мне тоже понравилась эта путаница всего за одну минуту до того, как я нашел эту тему SO. Прочитав некоторые ответы, я получил следующее: JSONObject - это объект, подобный JSON, который может быть представлен как элемент в массиве JSONArray. Другими словами, JSONArray может содержать (или несколько) JSONObject.
источник