java 判断是不是JSONObject的value是JSONObject还是JSONArray
时间: 2023-09-18 18:10:34 浏览: 137
在Java中,判断一个JSONObject的value是JSONObject还是JSONArray可以使用JSONObject的`opt()`方法结合`instanceof`关键字。具体代码如下:
```java
import org.json.JSONArray;
import org.json.JSONObject;
public class Main {
public static void main(String[] args) {
JSONObject json = new JSONObject();
json.put("key1", new JSONObject());
json.put("key2", new JSONArray());
Object value1 = json.opt("key1");
Object value2 = json.opt("key2");
if (value1 instanceof JSONObject) {
System.out.println("value1 is a JSONObject");
} else if (value1 instanceof JSONArray) {
System.out.println("value1 is a JSONArray");
} else {
System.out.println("value1 is neither a JSONObject nor a JSONArray");
}
if (value2 instanceof JSONObject) {
System.out.println("value2 is a JSONObject");
} else if (value2 instanceof JSONArray) {
System.out.println("value2 is a JSONArray");
} else {
System.out.println("value2 is neither a JSONObject nor a JSONArray");
}
}
}
```
在上述示例中,我们创建了一个JSONObject对象json,并向其添加了两个键值对,其中key1对应的值是一个JSONObject对象,key2对应的值是一个JSONArray对象。然后使用`opt()`方法获取对应键的值,并判断其类型。如果值是JSONObject类型,则输出"value is a JSONObject";如果值是JSONArray类型,则输出"value is a JSONArray";否则输出"value is neither a JSONObject nor a JSONArray"。
阅读全文