Difference between JSONObject and JSONArray
When you are working with JSON data in Android, you would use JSONArray
to parse JSON which starts with the array brackets. Arrays in JSON are used to organize a collection of related items (Which could be JSON objects).
For example: [{"name":"item 1"},{"name": "item2} ]
On the other hand, you would use JSONObject
when dealing with JSON that begins with curly braces. A JSON object is typically used to contain key/value pairs related to one item.For example: {"name": "item1", "description":"a JSON object"}
Of course, JSON arrays and objects may be nested inside one another. One common example of this is an API which returns a JSON object containing some metadata alongside an array of the items matching your query:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
The difference is the same as a (Hash)Map vs List.
JSONObject:
- Contains named values (key->value pairs, tuples or whatever you want to call them)
- like
{ID : 1}
- like
- Order of elements is not important
- a JSONObject of
{id: 1, name: 'B'}
is equal to{name: 'B', id: 1}
.
- a JSONObject of
JSONArray:
- Contains only series values
- like
[1, 'value']
- like
- Order of values is important
- array of
[1,'value']
is not the same as['value',1]
- array of
Example
JSON Object --> { "":""}JSON Array --> [ , , , ]{"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"}]}
Best programmatically Understanding.
when syntax is
{}
then this isJsonObject
when syntax is
[]
then this isJsonArray
A JSONObject
is a JSON-like object that can be represented as an element in the JSONArray
. JSONArray
can contain a (or many) JSONObject
Hope this will helpful to you !