jsonobject 循环取值
时间: 2023-06-28 11:05:47 浏览: 105
可以使用Java中的JSONObject类来操作JSON对象。假设有以下JSON字符串:
```json
{
"name": "John",
"age": 30,
"pets": {
"dog": "Fido",
"cat": "Fluffy"
}
}
```
可以使用以下代码来解析该JSON字符串并循环取值:
```java
import org.json.*;
String jsonString = "{\"name\":\"John\",\"age\":30,\"pets\":{\"dog\":\"Fido\",\"cat\":\"Fluffy\"}}";
JSONObject jsonObj = new JSONObject(jsonString);
// 获取name和age字段的值
String name = jsonObj.getString("name");
int age = jsonObj.getInt("age");
// 获取pets字段的值,并循环取出每个宠物名称
JSONObject petsObj = jsonObj.getJSONObject("pets");
Iterator<String> keys = petsObj.keys();
while(keys.hasNext()) {
String key = keys.next();
String petName = petsObj.getString(key);
System.out.println(key + ": " + petName);
}
```
输出结果为:
```
dog: Fido
cat: Fluffy
```
可以看到,通过JSONObject类的getXXX方法可以获取JSON对象中指定字段的值。对于嵌套JSON对象,可以使用getJSONObject方法获取嵌套的子对象,并使用keys方法获取所有的键名,然后通过循环取出每个键名对应的值。
阅读全文