Ожидаемый BEGIN_ARRAY, но в строке 1 столбца 26 путь $ .result - PullRequest
0 голосов
/ 29 сентября 2018

5 Ожидается BEGIN_ARRAY, но имеет значение STRING в строке 1, столбец 26, путь $ .result Ожидается BEGIN_ARRAY, но имеет значение STRING в строке 1, столбец 26, путь $ .resultExpected BEGIN_ARRAY, но имеет значение STRING в строке 1, столбец 26, путь $.1 столбец 26 путь $ .Результат

Ответы [ 3 ]

0 голосов
/ 29 сентября 2018

Из вашего logcat ваш API отправляет:

{"kode":"true","result":"Data ditemukan!"}

В то время как ваша модель в Android имеет:

@SerializedName("kode")
String kode;

@SerializedName("result")
List<DataModel> result;

Ваша модель ожидает, что «результатом» будет список объекта Datamodel., в то время как ваш API возвращает строку, вам нужно либо изменить тип вашего «результата» в Android на String, либо убедиться, что ваш php на самом деле отправляет массив объекта как «результат», в зависимости от того, что вам нужно.

В более общем случае, когда вы видите такую ​​строку

Ожидается BEGIN_ARRAY, но в строке 1 столбца 26 путь $ .result

Itозначает, что преобразователь gson не соответствует тому, что вы получили от вашего вызова модели.Здесь это означает, что в какой-то момент он ожидал массив (ожидаемый BEGIN_ARRAY), но вместо этого нашел что-то другое, здесь строку.Если вы посмотрите на строку, отправленную вашим API, то есть

{"kode":"true","result":"Data ditemukan!"}

Вы увидите, что столбец 26 на самом деле является «символом строки« Data ditemukan! », И вот как вы можете узнать, что этопреобразование поля «результат», вызывающего проблему.

0 голосов
/ 29 сентября 2018

Ответ выдается, когда запрос «192.168.1.14/tesemaal/api/data/kartu/ можешь получить заЭто может быть показано?Возможно, ваша ошибка только в пойо.

0 голосов
/ 29 сентября 2018

Ваш код Android не имеет проблем, которые веб-служба PHP возвращает в List.

, поэтому

Либо вы можете заменить этот код в своем файле PHP

  ->set_content_type('application/json')
  ->set_output(json_encode('kode'=>$kode,'result'=> $result));

или вы должны взять List в дооснащении вот так

@GET("kartu/{NoKartu}/{Pin}/{Hp}")
    Call<List<ResponsModel>> kartuu (@Path("NoKartu") String nokar,
                                    @Path("Pin") String pin,
                                    @Path("Hp") String hp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...