Java 如何选课

Java 如何选课,java,Java,我正在使用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

我正在使用
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.
是否有其他方法来检查和比较课程?

这对我来说很有效:

data.get("target").getClass().getName().equals(JSONArray.class.getName())
这对我很有用:

data.get("target").getClass().getName().equals(JSONArray.class.getName())
也为我工作

仔细想想,这可能是因为
JSONArray
是从另一个库导入的?可能是从
org.json.JSONArray
导入的
JSONArray
,而
JSONObject
是从
org.json.simple.JSONObject
导入的

我之所以这样做,是因为只有真正指定的类路径对您有效(
…等于(“org.json.simple.JSONArray”)…

也为我工作

仔细想想,这可能是因为
JSONArray
是从另一个库导入的?可能是从
org.json.JSONArray
导入的
JSONArray
,而
JSONObject
是从
org.json.simple.JSONObject
导入的


我之所以这样做,是因为只有真正指定的类路径对您有效(
…等于(“org.json.simple.JSONArray”)…
)。

data.get(“target”)实例是JSONArray.class
的,必须没有
。class
Vulcan,不可以。它可以是JSONObject或JSONArray
data.get(“target”)JSONArray的instanceof.class
必须不带
。class
Vulcan,不。它可能是JSONObject或JSONArraylet,请让我检查一下。@FarazDurrani让我知道它是否帮了你:)让我检查一下。@FarazDurrani让我知道它是否帮了你:)