Volley String cannot be converted to JSONObject BOM

前端之家收集整理的这篇文章主要介绍了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,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 } };

猜你在找的Json相关文章