После короткого изучения Google я нашел ссылку , которая описывает разницу, но с точки зрения синтаксиса.
Когда один из них будет предпочтительнее другого в сценарии программирования?
После короткого изучения 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]
Пример
JSON Object --> { "":""}
JSON Array --> [ , , , ]
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
Лучшее программное понимание
когда синтаксис
{}
то этоJsonObject
когда синтаксис
[]
то этоJsonArray
JSONObject
- это JSON-подобный объект, который может быть представлен как элемент в JSONArray
. JSONArray
может содержать (или много) JSONObject
Надеюсь, это поможет вам!
объект: Объект представляет собой неупорядоченный набор пар имя/значение. Объект начинается с {(левая скобка) и заканчивается на} (правая фигурная скобка). За каждым именем следует: (двоеточие), а пары имя/значение разделяются запятой.
массив: Массив - это упорядоченный набор значений. Массив начинается с [(левая скобка) и заканчивается на] (правая скобка). Значения разделяются запятой.
Я всегда использую объект, более легко расширяемый, массив JSON - нет. Например, у вас изначально были некоторые данные в виде json-массива, тогда вам нужно было добавить заголовок состояния, на котором вы были бы немного застряли, если бы вы не вложили данные в объект. Единственным недостатком является небольшое увеличение сложности создания/синтаксического анализа.
Итак, вместо
[datum0, datum1, datumN]
У вас будет
{data: [datum0, datum1, datumN]}
а затем вы можете добавить еще...
{status: "foo", data: [datum0, datum1, datumN]}
Чтобы понять это проще, ниже приведены различия между объектом JSON и массивом JSON:
Ссылка на табличную разницу: 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 Object
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.
Я знаю, что все предыдущие ответы проницательны для вашего вопроса. У меня была такая же путаница, как у тебя, всего за одну минуту до того, как я нашел эту ТАКУЮ ветку. После прочтения некоторых ответов вот что я получаю: JSONObject - это JSON-подобный объект, который может быть представлен как элемент в массиве, JSONArray. Другими словами, JSONArray может содержать (или много) JSONObject.