使用 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
}
};