JSONObject和JSONArray的区别
在对Google进行简要介绍之后,我发现这个链接描述了不同点,但是从语法的angular度来看。
在编程场景中,什么时候会比其他人更喜欢?
当您在Android中使用JSON数据时,您将使用JSONArray
来parsing以数组括号开头的JSON。 JSON中的数组用于组织相关项目的集合(可能是JSON对象)。
例如: [{"name":"item 1"},{"name": "item2} ]
另一方面,在处理以花括号开头的JSON时,您将使用JSONObject
。 JSON对象通常用于包含与一个项目相关的键/值对。 例如: {"name": "item1", "description":"a JSON object"}
当然,JSON数组和对象可以嵌套在一起。 一个常见的例子是一个API,它返回一个包含一些元数据的JSON对象以及与你的查询匹配的项目数组:
{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}
与(哈希)地图vs列表的区别是相同的。
的JSONObject:
- 包含命名值(键 – >值对,元组或任何你想要调用它们)
- 如
{ID : 1}
- 如
- 元素的顺序并不重要
-
{id: 1, name: 'B'}
的JSONObject等于{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
希望这对你有帮助!
对象:一个对象是一组无名的名称/值对。 一个对象以{(左大括号)开始并以}(右大括号)结束。 每个名称后跟:(冒号),名称/值对由(逗号)分隔。
数组:数组是数值的有序集合。 一个数组以[(左括号)开头,结尾为](右括号)。 值由(逗号)分隔。
我总是使用对象,它更容易扩展,JSON数组不是。 例如,你最初有一些数据作为一个JSON数组,然后你需要添加一个状态头,你会有点卡住,除非你嵌套在一个对象的数据。 唯一的缺点是创build/parsing的复杂度略有增加。
所以,而不是
[datum0, datum1, datumN]
你会有的
{data: [datum0, datum1, datumN]}
那么以后你可以添加更多…
{status: "foo", data: [datum0, datum1, datumN]}