我想从JSONArray获取一个用户作为JSONObject。他将电子邮件作为数据库中的独特价值。
如果我打这样的电话:
@GET("users")
Call<List<User>> getUser(@Query("email") String email);
我必须这样接收数据:
call.enqueue(new Callback<List<User>>() {
@Override
public void onResponse(@NonNull Call<List<User>> call,
@NonNull Response<List<User>> response) {
List<User> users_list = response.body();
if (users_list != null) {
User user = users_list.get(0);
}
}
@Override
public void onFailure(@NonNull Call<List<User>> call, @NonNull Throwable t) {
}
});
因为我的通话返回的只是一个元素的列表。还有其他方法可以直接获取对象,而不是将其放在列表中吗?
我得到的答复是:
[
{
"id": 17,
"email": "myemail@gmail.com",
...
}
]
我只想得到:
{
"id": 17,
"email": "myemail@gmail.com",
...
}
如果我替换
List<User> with User
在GET方法中,在调用中将不起作用。我正在寻找某种方法,例如C#中的.NET Core 2中的FirstOrDefault()或类似方法。谢谢!