com.alibaba:fastjson:1.1.70.android 类型强转Bug
JSONObject jsonObject = JSON.parseObject("{\"data\":[ ]}");
JSONObject obj = jsonObject.getJSONObject("data");
compile 'com.alibaba:fastjson:1.1.70.android'
以上代码报错:
Caused by: java.lang.ClassCastException: com.alibaba.fastjson.JSONArray cannot be cast to com.alibaba.fastjson.JSONObject
at com.alibaba.fastjson.JSONObject.getJSONObject(JSONObject.java:110)
at com.example.kuang.screenlockactivity.MainActivity.onCreate(MainActivity.java:35)
分析是:
// JSONObject.java
public JSONObject getJSONObject(String key) {
Object value = map.get(key);
if (value instanceof JSONObject) {
return (JSONObject) value;
}
if (value instanceof String) {
return JSON.parseObject((String) value);
}
// 强制转换风险
return (JSONObject) toJSON(value);
}
暂无答案!
目前还没有任何答案,快来回答吧!