[英]ClassCastException Parsing string to JSONArray
我有一個類似JSON字符串的字符串,從REST應用返回到Android應用:
"{ \"error\" : false , \"volume\" : 1000 }"
然后,我嘗試解析以下響應(不是確切的函數,而是引起麻煩的確切代碼):
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
public void jsonFunction(String result){
JSONArray jsonArr = (JSONArray) new JSONParser().parse(result);
JSONObject json = (JSONObject) jsonArr.get(0);
}
但是,每次嘗試解析JSON字符串時,都會出現以下錯誤:
java.lang.String cannot be cast to org.json.simple.JSONArray
java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONArray
我使用了相同的代碼來解析來自同一程序中另一個REST應用程序的JSON響應,但是執行起來沒有任何麻煩。 如果我嘗試直接解析為JSONObject,則會收到非常相似的錯誤消息。 我認為一定有我看不見的東西,但是對於我的一生,我似乎還無法確定它是什么。
編輯:
這就是我嘗試直接解析為JSON對象的方法:
java.lang.String cannot be cast to org.json.simple.JSONObject
java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONObject
您的json響應不是數組,這就是您需要做的所有事情。
import org.json.JSONException;
import org.json.JSONObject;
try {
JSONObject obj = new JSONObject(result);
boolean error = obj.getBoolean("error");
int volume = obj.getInt("volume");
} catch (JSONException e){
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.