Я хочу получить данные из веб-службы, но она показывает эту ошибку.
D/exception: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 3 path $[0]
В массиве есть два массива, я пытался его проанализировать, но не смог получить его. Он показывает данные в stringResponse
, но не знаю, почему не работает синтаксический анализ через GSON.
Класс модели
MainClass
private void getStringResponse() {
String url = "http://www.mocky.io/v2/5bd7f4683100003508474b3d";
StringRequest request = new StringRequest(
Request.Method.GET,
url,
new com.android.volley.Response.Listener<String>() {
@Override
public void onResponse(String response) {
String stringResponse = response.toString();
Gson gson = new Gson();
try{
ModelOne[] data = gson.fromJson(stringResponse, ModelOne[].class);
List<ModelOne.First> first = new ArrayList<>();
first = data[0].getZero();
Log.d("data", first.get(0).getFullName());
} catch (Exception e){
Log.d("exception", e.toString());
}
}
}, new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("error", error.toString());
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(request);
}
Мне просто нужны второстепенные рекомендации: как обращаться с данными, когда у вас есть массивы в массиве, и как их анализировать.
и это показывает, что ваш вопрос имеет максимальный код, поэтому я загрузил ссылку dropbox