Volley String cannot be converted to JSONObject BOM

使用 Volley 网络请求的时候。


JsonObjectRequest mJsonObjectRequest = new JsonObjectRequest(
requestMethod, url, null, mSuccessListener, mErrorListener);


会请求失败。。。报String cannot be converted to JSONObject的错误。



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



  google之后发现是BOM报头问题。服务器端是php,返回的接送数据'{'前有bom报头,java读的时候把报头直接当作文件内容读,然后就会出错。

一般是服务器端代码格式的问题


解决办法:


改用:StringRequest mJsonObjectRequest  = new StringRequest(requestMethod, url, mSuccessListener, mErrorListener); 的请求方式。


private static Listener<String> mSuccessListener = new Listener<String>() {
@Override
public void onResponse(String arg0) {
// TODO Auto-generated method stub


}
};


private static ErrorListener mErrorListener = new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
// TODO Auto-generated method stub

}
};

你可能感兴趣的:(Volley String cannot be converted to JSONObject BOM)