Разница между JSONObject и JSONArray
после короткого взгляда на Google я нашел это ссылке что описывает разницу, но с точки зрения синтаксиса.
когда один будет предпочтительнее другого в сценарии программирования?
7 ответов:
когда вы работаете с данными JSON в Android, вы бы использовали
JSONArray
для разбора JSON, который начинается с скобок массива. Массивы в JSON используются для организации коллекции связанных элементов (которые могут быть объектами JSON).
Например:[{"name":"item 1"},{"name": "item2} ]
С другой стороны, вы могли бы использовать
JSONObject
при работе с JSON, который начинается с фигурных скобок. Объект JSON обычно используется для хранения пар ключ / значение, связанных с одним элементом. Например:{"name": "item1", "description":"a JSON object"}
Of конечно, массивы и объекты JSON могут быть вложены друг в друга. Одним из распространенных примеров этого является API, который возвращает объект JSON, содержащий некоторые метаданные вместе с массивом элементов, соответствующих вашему запросу:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
разница такая же, как (хэш)карта против списка.
JSONObject:
- содержит именованные значения (ключ->значение пары, кортежи или что вы хотите назвать их)
- как
{ID : 1}
- порядок элементов не важен
- JSONObject of
{id: 1, name: 'B'}
равна{name: 'B', id: 1}
.JSONArray:
- содержит только значения серии
- как
[1, 'value']
- порядок значений является важным
- массив
[1,'value']
- это не то же самое как['value',1]
пример
JSON Object --> { "":""} JSON Array --> [ , , , ] {"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]}
лучшее программное понимание.
когда синтаксис
{}
, то этоJsonObject
когда синтаксис
[]
, то этоJsonArray
A
JSONObject
это в JSON-объект, который может быть представлен как элементJSONArray
.JSONArray
может содержать a (или много)JSONObject
надеюсь, что это будет полезно для вас !
Я всегда использую объект, его легче расширить, массив JSON-нет. Например, у вас изначально были некоторые данные в виде массива json, тогда вам нужно было добавить заголовок состояния на нем, вы бы немного застряли, если бы вы не вложили данные в объект. Единственным недостатком является небольшое увеличение сложности создания / разбора.
Так вместо
[datum0, datum1, datumN]
ты
{data: [datum0, datum1, datumN]}
затем вы можете добавить больше...
{status: "foo", data: [datum0, datum1, datumN]}
Я знаю, все предыдущие ответы проницательны для вашего вопроса. Мне тоже нравилась эта путаница всего за минуту до того, как я нашел эту нить. После прочтения некоторых ответов, вот что я получаю: JSONObject-это JSON-подобный объект, который может быть представлен как элемент в массиве, JSONArray. Другими словами, JSONArray может содержать (или много) JSONObject.
чтобы понять это проще, ниже приведены различия между объектом JSON и массивом JSON:
ссылка на табличную разницу:https://i.stack.imgur.com/GIqI9.png
массив JSON
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: {rollno: 1, firstname: 'Somya'} is not equal to { firstname: 'Somya', rollno: 1} 6. JSON can store nested Arrays that are passed as a value.
объект 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.