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或JSONArraydata.get(“target”)JSONArray的instanceof.class
必须不带。class
Vulcan,不。它可能是JSONObject或JSONArraylet,请让我检查一下。@FarazDurrani让我知道它是否帮了你:)让我检查一下。@FarazDurrani让我知道它是否帮了你:)