Переглянувши 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"} ]}
Різниця така ж, як (Hash) Map vs List.
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
A 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 масив
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
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.
Коли JSON починається з {}, це об'єкт JSON Object, а коли він починається з [], це масив JOSN Array
Масив JSON може складатися з / багатьох об'єктів і називається масивом об'єктів
Я знаю, всі попередні відповіді добре розуміють ваше запитання. Мені надто сподобалося, як ти, ця плутанина лише за хвилину до того, як знайти цю тему SO. Прочитавши деякі відповіді, ось що я отримую: JSONObject - об’єкт, подібний JSON, який може бути представлений як елемент масиву, JSONArray. Іншими словами, JSONArray може містити (або багато) JSONObject.