我正面临 - java.lang.ClassCastException:org.json.simple.JSONObject在将org.json.simple.JSONObject强制转换为org.json.JSONObject时无法转换为org.json.JSONObject错误,我不是在使用JSONArray在之前提出的一个问题中提出了建议。下面是我的代码,我试图从json文本文件中将JSONObject从API断言为JSONObject。例外情况是"jsonObject = (JSONObject) obj;"
第42行。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import org.json.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import com.xxxxxx.glue.resin.Resin;
import com.xxxxxx.glue.resin.ResinDataFactory;
import com.xxxxxx.glue.resin.ResinResponse;
class OLUtil {
public static JSONObject getJsonForOLResponse(String uri){
JSONObject jsonObj = null;
try {
Resin resinAPI = ResinDataFactory.getResinAPI(null, null, null, null, null, null, uri, null);
ResinResponse apiResponse = resinAPI.resinGet();
jsonObj = apiResponse.getJsonResponse();
} catch(Exception e ){
e.printStackTrace();
}
return jsonObj;
}
public static JSONObject getJsonForOLTestData(File expectedDataJsonDataPath){
FileReader reader = null;
JSONObject jsonObject = null;
try {
reader = new FileReader(expectedDataJsonDataPath);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONParser jsonParser = new JSONParser();
try {
Object obj = jsonParser.parse(reader);
jsonObject = (JSONObject) obj;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonObject;
}
}
答案 0 :(得分:1)
您从不同的解析器解析它。并指定其他类型,甚至连铸也不会有效。