JSONObject是键值对集合,用于表示单个实体;2. JSONArray是有序列表,用于存储多个相似数据;3. JSONObject通过键访问值,JSONArray通过索引访问元素;4. 两者可相互嵌套以表达复杂结构。

JSONArray 和 JSONObject 是处理 JSON 数据时常用的两种数据结构,它们在结构和用途上有明显区别。
1. 数据结构不同
JSONObject 代表的是无序的键值对集合,类似于 Java 中的 Map 或者 JavaScript 中的对象。每个键对应一个值,值可以是字符串、数字、布尔值、数组、嵌套对象或 null。
例如:
{
"name": "张三",
"age": 25,
"isStudent": false
}
JSONArray 表示一个有序的值序列,类似于 Java 中的 List 或 JavaScript 中的数组。它存储的是值的列表,这些值可以是字符串、数字、对象、其他数组等。
例如:
[
{"name": "张三", "age": 25},
{"name": "李四", "age": 30}
]
2. 使用场景不同
JSONObject 通常用于表示一个实体或记录,比如一个人的信息、一条订单数据等。它通过键来访问对应的值。
- 使用方式:jsonObject.getString("name")
JSONArray 常用于存储多个相似的数据项,比如一组用户、多个地址等。通过索引访问其中的元素。
cndian淘发展到现在有免费版、站群版、商业版,三个版本。目前免费版免费提供给大家,商业版对大家来说也比较熟悉 现在说说站群版本与免费单页版本区别: 1、去除首页友情链接 2、优化各个页面seo 3、增加关键字提供 4、增加采集功能 5、各个后台配置都用变量替换,直接设置好网站信息后就调用
- 使用方式:jsonArray.getJSONObject(0).getString("name")
3. 内部元素组织方式不同
JSONObject 中的元素由“键”唯一标识,不能有重复键(后出现的会覆盖前面的)。
JSONArray 中的元素是按顺序排列的,可以通过下标操作,允许相同值存在。
4. 相互嵌套关系
JSONObject 可以包含 JSONArray,反之亦然。这种嵌套结构能表达复杂的数据模型。
例如一个用户有多个电话号码:
{
"name": "张三",
"phones": ["13800138000", "010-123456"]
}
这里 phones 就是一个 JSONArray,嵌套在 JSONObject 中。
基本上就这些。理解它们的区别有助于正确解析和构造 JSON 数据。









