如何匹配班级

我正在使用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 working

if(data.get("target").getClass() == JSONArray.class) //not working

...




if(data.get("target").getClass().equals("org.json.simple.JSONArray")) //this works.

还有其他方法可以检查和比较课程吗?


守着一只汪
浏览 90回答 2
2回答

UYOU

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

这对我有用:data.get("target").getClass().getName().equals(JSONArray.class.getName())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java