JSONObject 和 JSONArray 的区别

新手上路,请多包涵

在浏览了谷歌之后,我发现这个 链接 描述了差异,但从语法的角度来看。

在编程场景中,什么时候会优先选择另一个?

原文由 Luke Taylor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 528
2 个回答

当您在 Android 中使用 JSON 数据时,您将使用 JSONArray 来解析以数组括号开头的 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"} ]}

原文由 Eric Levine 发布,翻译遵循 CC BY-SA 3.0 许可协议

区别与 (Hash)Map 与 List 相同。

JSON对象:

  • 包含命名值(键->值对、元组或任何你想称呼它们的东西)
    • 喜欢 {ID : 1}
  • 元素的顺序并不重要
    • {id: 1, name: 'B'} 的 JSONObject 等于 {name: 'B', id: 1}

JSON数组:

  • 仅包含系列值
    • [1, 'value']
  • 值的顺序很重要
    • [1,'value'] ['value',1]

例子

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

JSON Array --> [ , , , ]

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

原文由 Aleksandr Panzin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题