Я получил ошибку: ожидал BEGIN_ARRAY, но был BEGIN_OBJECT в строке 1, столбце 2, пути $
Что я понимаю, это то, что модернизация хочет BEGIN_ARRAY?
Я нашел некоторые решения, но у меня не работает.
Я пробовал некоторые решения, которые не работают. Я думаю, что это была структура JSON, и я не знаю, как ее использовать.
Итак, для моего кода:
Мой интерфейс
public interface UserService {
String ENDPOINT = "http://localhost:3000/";
@GET("users")
Call<List<User>> getUsers();
}
1008 * Данные *
public class User {
@SerializedName("_id")
@Expose
private int _id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("firstname")
@Expose
private String firstname;
@SerializedName("picture")
@Expose
private String picture;
public int getId() {
return _id;
}
public String getName() {
return name;
}
public String getFirstname() {
return firstname;
}
public String getPicture() {
return picture;
}
}
My MainActivity
textViewResult = findViewById(R.id.text_view_result);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(UserService.ENDPOINT)
.addConverterFactory(GsonConverterFactory.create())
.build();
UserService jsonUserService = retrofit.create(UserService.class);
Call<List<User>> call = jsonUserService.getUsers();
call.enqueue(new Callback<List<User>>() {
@Override
public void onResponse(Call<List<User>> call, Response<List<User>> response) {
if(!response.isSuccessful()){
textViewResult.setText("Code : " + response.code());
return;
}
List<User> users = response.body();
for(User user : users){
String content = "";
content += "ID: " + user.getId() + '\n';
content += "FirstName: " + user.getFirstname() + '\n';
content += "Name: " + user.getName() + '\n';
content += "Picture: " + user.getPicture() + '\n';
textViewResult.append(content);
}
}
@Override
public void onFailure(Call<List<User>> call, Throwable t) {
textViewResult.setText(t.getMessage());
}
});
И мой JSON выглядит как ...
{
"users": [
{
"_id": 1,
"name": "test",
"firstname": "user",
"picture": "http://localhost:3000/imgs/1.jpg"
},
{
"_id": 2,
"name": "test1",
"firstname": "user1",
"picture": "http://localhost:3000/imgs/2.jpg"
},
{
"_id": 3,
"name": "test2",
"firstname": "user2",
"picture": "http://localhost:3000/imgs/3.jpg"
},
}
Я думаю, что это были "пользователи": которые вызывают эту проблему. Но я не знаю, как решить эту проблему.
Большое спасибо, если у кого-то было решение.