我正在使用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.
还有其他方法可以检查和比较课程吗?
答案 0 :(得分:1)
这对我有用:
data.get("target").getClass().getName().equals(JSONArray.class.getName())
答案 1 :(得分:1)
https://chocolatey.org/install
也为我工作。
再三考虑,可能是因为if(data.get("target") instanceof JSONArray)
是从另一个库中导入的吗?也许JSONArray
是从JSONArray
(org.json)导入的,而org.json.JSONArray
是从JSONObject
(org.json.simple)导入的?
我从只有真正指定的类路径(org.json.simple.JSONObject
)为您工作的事实中获得了领先优势。