JSONObject 和 JSONArray 之间的区别

2022-08-31 08:46:59

在看了一下Google之后,我发现了这个描述差异的链接,但从语法的角度来看。

在编程方案中,何时会优先选择一个?


答案 1

当您在Android中处理JSON数据时,您将使用解析以数组括号开头的JSON。JSON 中的数组用于组织相关项(可以是 JSON 对象)的集合。
例如:JSONArray[{"name":"item 1"},{"name": "item2} ]

另一方面,在处理以大括号开头的 JSON 时,您会使用。JSON 对象通常用于包含与一个项目相关的键/值对。例如:JSONObject{"name": "item1", "description":"a JSON object"}

当然,JSON 数组和对象可以相互嵌套。一个常见的例子是一个API,它返回一个JSON对象,其中包含一些元数据以及与查询匹配的项目数组:

{"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]}

答案 2

差异与(哈希)映射与列表相同。

JSONObject:

  • 包含命名值(键值对>元组或要调用它们的任何内容)
    • 喜欢{ID : 1}
  • 元素的顺序并不重要
    • 的 JSON 对象等于 。{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"}
]}