Volley请求服务器一直出错啊?

试过各种的请求,StringRequest、JsonObjectRequest、JsonArrayRequest,都是不成功的,返回的错误信息是 com.android.volley.ParseError: org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray ,或者是com.android.volley.ServerError。。。我看控制台信息,socket是链接成功了,求解,小白对网络请求不太熟悉。

阅读 6.7k
2 个回答

Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray
这个得意思是 String类型不能转化成 jsonArray。你得服务端给你返回的是“ <!DOCTYPE ”这样子的字符串,不能转化成jsonArray。
ServerError 的话,最好搞清楚是什么错误,我是指报的是4XX呢,还是5XX或者是2XX呢

Value <!DOCTYPE of type java.lang.String cannot be converted to JSONArray ,或者是com.android.volley.ServerError。。。

<!DOCTYPE一般是HTML文件的开头,证明服务器给你返回的是一个HTML,com.android.volley.ServerError这个错误,看见ServerError错误的关键字了么,如果服务器API约定返回的是JSON,这样服务器是出现了500错误,然后返回了个HTML给你。

各种错误(httpCode>=200 && httpCode<300以外的情况,你现在的情况应该是服务器500错误)Volley的回调应该会是回调onError而不是onResponse,在onError方法里面应该做的是错误处理。
这个问题你需要找你们的API程序员看看是不是接口有问题。

如果实在不行,换okhttp吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题