gpt4 book ai didi

java - 当可以同时是 JSONArray 或 JSONObject 时,测试它是否是 JSONArray 或 JSONObject

转载 作者:行者123 更新时间:2023-12-02 11:44:11 26 4
gpt4 key购买 nike

JSON file

我有一个 JSON 文件,其中值可以是对象或数组。我用 Java 编写了以下代码来读取该文件。

public static void getInput() throws IOException, ParseException{


//creates a new JSON parser object.
JSONParser parser = new JSONParser();

File file = new File("my file");

Object ob = parser.parse(new FileReader(file));

JSONObject job = (JSONObject) ob;

JSONArray ja = (JSONArray) job.get("declaration-list");



for (Object o : ja){

JSONObject declared_variable = (JSONObject) o;

JSONObject value = (JSONObject) o;

String dv = (String) declared_variable.get("declared-variable");
long v = (long) value.get("value");


}

如果 value 是 JSONArray,我想从 value 获取运算符和参数,但在某些情况下 value 是 JSONObject。我该如何测试这个?

最佳答案

虽然可能有更好的方法,但简单地使用 instanceof 会有所帮助。

Object o ... 
if( o instanceof JSONObject) {
processJSONObject((JSONObject)o);
} else if (o instanceof JSONArray){
processJSONArray((JSONArray)o);
} else {
// Invalid object type handling
}

关于java - 当可以同时是 JSONArray 或 JSONObject 时,测试它是否是 JSONArray 或 JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com