java.lang.ClassCastException:org.json.simple.JSONObject无法强制转换为org.json.JSONObject

时间:2016-01-25 17:19:34

标签: java android json

我正面临 - 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;
    }
}

1 个答案:

答案 0 :(得分:1)

您从不同的解析器解析它。并指定其他类型,甚至连铸也不会有效。