почему String не конвертируется в JsonArray - PullRequest
1 голос
/ 25 сентября 2019

Я пишу приложение для Android и запускаю его на мобильном устройстве (версия Pie). И я использую библиотеку Volley для подключения к серверу.Когда я отправляю запрос на сервер (JsonArrayRequest), приложение входит в системуErrorRespons И сталкивается с этой ошибкой

com.android.volley.ParseError: org.json.JSONException: Value <html> 
<body> <script of type java.lang.String cannot be converted to JSONArray

Вот пример кода сервера и Android, который я даже использовал этот код в заголовке сервера ('СодержаниеТип: application / json ');но я все еще получаю ту же ошибку

Вы можете использовать эту ссылку для просмотра контента http://alibaba.gigfa.com/getcity.php

Спасибо за ваши усилия, друзья

php:

<?php
 include "connect.php";
 $query="SELECT * FROM city";
 $res=$connect->prepare($query);
 $res->execute();
 $products=array();
 while($row=$res->fetch(PDO::FETCH_ASSOC)){
     $record=array();
     $record["id"]=$row["id"];
     $record["title"]=$row["city"];

     $products[]=$record;
 }
 echo json_encode($products);

 ?>

Java:

JsonArrayRequest jsonArrayRequest = new 
 JsonArrayRequest(Request.Method.GET, URL, null, new 
 Response.Listener<JSONArray>() {
            @Override
             public void onResponse(JSONArray response) {
                Log.e("Adrom Response1: ", response.toString());
                for (int i = 0; i < response.length(); i++) {
                    try {
                        JSONObject jsonObject = response.getJSONObject(i);
                        String city = jsonObject.getString("title");
                        cities.add(city);
                    } catch (JSONException e) {
                        Log.e("Adrom Response2: ", e.toString());
                        e.printStackTrace();
                    }
                }

        }


        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("Adrom Response3: ", error.toString());
            }
        });
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(jsonArrayRequest);
...