Разница между JSONObject и JSONArray

После короткого изучения Google я нашел ссылку , которая описывает разницу, но с точки зрения синтаксиса.

Когда один из них будет предпочтительнее другого в сценарии программирования?

Ответ 1

Когда вы работаете с данными 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"} ]}

Ответ 2

Разница такая же, как и (хэш-карта) против списка.

JSONObject:

  • Содержит именованные значения (пары ключ- > значение, кортежи или все, что вы хотите вызвать)
    • like {ID : 1}
  • Порядок элементов не важен
    • JSONObject {id: 1, name: 'B'} равен {name: 'B', id: 1}.

JSONArray:

  • Содержит только значения серии
    • like [1, 'value']
  • Порядок ценностей важен
    • массив [1,'value'] не совпадает с ['value',1]

Пример

JSON Object --> { "":""}

JSON Array --> [ , , , ]

{"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]}

Ответ 3

Лучшее программное понимание

когда синтаксис {} то это JsonObject

когда синтаксис [] то это JsonArray

JSONObject - это JSON-подобный объект, который может быть представлен как элемент в JSONArray. JSONArray может содержать (или много) JSONObject

Надеюсь, это поможет вам!

Ответ 4

объект: Объект представляет собой неупорядоченный набор пар имя/значение. Объект начинается с {(левая скобка) и заканчивается на} (правая фигурная скобка). За каждым именем следует: (двоеточие), а пары имя/значение разделяются запятой.

введите описание изображения здесь

массив: Массив - это упорядоченный набор значений. Массив начинается с [(левая скобка) и заканчивается на] (правая скобка). Значения разделяются запятой.

введите описание изображения здесь

Ответ 5

Я всегда использую объект, более легко расширяемый, массив JSON - нет. Например, у вас изначально были некоторые данные в виде json-массива, тогда вам нужно было добавить заголовок состояния, на котором вы были бы немного застряли, если бы вы не вложили данные в объект. Единственным недостатком является небольшое увеличение сложности создания/синтаксического анализа.

Итак, вместо

[datum0, datum1, datumN]

У вас будет

{data: [datum0, datum1, datumN]}

а затем вы можете добавить еще...

{status: "foo", data: [datum0, datum1, datumN]}

Ответ 6

Чтобы понять это проще, ниже приведены различия между объектом 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.

Ответ 7

Я знаю, что все предыдущие ответы проницательны для вашего вопроса. У меня была такая же путаница, как у тебя, всего за одну минуту до того, как я нашел эту ТАКУЮ ветку. После прочтения некоторых ответов вот что я получаю: JSONObject - это JSON-подобный объект, который может быть представлен как элемент в массиве, JSONArray. Другими словами, JSONArray может содержать (или много) JSONObject.