我正在使用org.json.simple.JSONObject将字符串 json 转换为 JSONObject。当我从中获得值时,我想检查类型或类。像这样:JSONParser parser = new JSONParser();JSONObject data = (JSONObject) parser.parse(new FileReader(resourceFile.getFile()));JSONObject target = (JSONObject) data.get("target");if(data.get("target") instanceof JSONArray.class) //not working...if(data.get("target").getClass().equals(JSONArray.class)) //not workingif(data.get("target").getClass() == JSONArray.class) //not working...if(data.get("target").getClass().equals("org.json.simple.JSONArray")) //this works.还有其他方法可以检查和比较课程吗?
2 回答
UYOU
TA贡献1878条经验 获得超4个赞
if(data.get("target") instanceof JSONArray)
也为我工作。
再想一想,这可能是因为JSONArray
是从另一个库导入的?可能JSONArray
从org.json.JSONArray
(org.json)导入,而JSONObject
从org.json.simple.JSONObject
(org.json.simple)导入?
我从只有真正指定的类路径对你有用的事实中得到了这个线索(... .equals("org.json.simple.JSONArray") ...
)。
GCT1015
TA贡献1827条经验 获得超4个赞
这对我有用:
data.get("target").getClass().getName().equals(JSONArray.class.getName())
添加回答
举报
0/150
提交
取消