java获取json里数组中的数组
时间: 2024-01-26 13:02:25 浏览: 163
java解析json信息
可以使用Java中的`org.json`库来解析JSON数据,并通过嵌套的`JSONArray`对象来获取数组中的数组。
假设有如下的JSON数据:
```
{
"data": [
{
"name": "John",
"age": 30,
"hobbies": [
"reading",
"hiking",
"swimming"
]
},
{
"name": "Mary",
"age": 25,
"hobbies": [
"painting",
"dancing",
[
"yoga",
"meditation"
]
]
}
]
}
```
要获取第二个对象中的`hobbies`数组中的第三个元素,可以使用如下代码:
```java
import org.json.JSONArray;
import org.json.JSONObject;
// 解析JSON字符串
String jsonStr = "{\"data\":[{\"name\":\"John\",\"age\":30,\"hobbies\":[\"reading\",\"hiking\",\"swimming\"]},{\"name\":\"Mary\",\"age\":25,\"hobbies\":[\"painting\",\"dancing\",[\"yoga\",\"meditation\"]]}]}";
JSONObject jsonObj = new JSONObject(jsonStr);
// 获取data数组
JSONArray dataArray = jsonObj.getJSONArray("data");
// 获取第二个对象
JSONObject obj2 = dataArray.getJSONObject(1);
// 获取hobbies数组
JSONArray hobbiesArray = obj2.getJSONArray("hobbies");
// 获取第三个元素(数组)
JSONArray arr3 = hobbiesArray.getJSONArray(2);
// 输出结果
System.out.println(arr3); // 输出 ["yoga","meditation"]
```
这里先将JSON字符串解析为`JSONObject`对象,然后通过`getJSONArray`方法获取`data`数组,进一步获取第二个对象和`hobbies`数组,最后通过`getJSONArray`方法获取第三个元素(数组)。
阅读全文