new JSONObject(str)無法解析 報錯:org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject


org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject

 

解析服務器返回的Json串時,JSONObject對象拋出了這個異常。

原以為是返回的json格式錯誤了,仔細對比看不出所以然。至少字符上看是格式沒問題的。。

那就可能是編碼的問題了。仔細比較每個字符,的確在json串頭部發現字符:"\ufeff" 。

客戶端解決方案:

 

 

public static final String removeBOM(String data) {

if (TextUtils.isEmpty(data)) {

return data;

}

 

if (data.startsWith("\ufeff")) {

return data.substring(1);

} else {

return data;

}

}

 

服務器端解決方案:

將輸出此json的php源碼重新用editplus之類用utf-8無BOM的編碼保存。【不要用windows系統自帶的記事本編輯php源碼,這個BOM就是記事本這些windows自帶的編輯器引入的。】

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM