在文本视图中使用 Retrofit 显示来自 Json 数组的数据
Displaying data from a Json array using Retrofit in a textview
我试图在文本字段上使用 Retrofit 显示来自 Json 数组的数据,但是文本字段没有显示任何内容。请帮忙。
这是改装服务的要求
@GET("users/:email")
Call<User> getUser(@Query("email") String email );
以及我如何尝试使其显示在文本字段中
Call<User> users = api.getUser(email);
users.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
txtName.setText(response.body().getUserEmail());
}
@Override
public void onFailure(Call<User> call, Throwable t) {
}
});
邮递员的回复是这样的
[
{
"name": "First Name",
"email": "myemail@gmail.com",
"phone": "00000000"
}
]
首先,您将获得 JSON 数组作为响应,因此您需要相应地更改回调。
将您的服务电话更改为此
Call<List<User>> getUser(@Query("email") String email );
然后
Call<List<User>> users = api.getUser(email);
users.enqueue(new Callback<List<User>>() {
@Override
public void onResponse(Call<List<User>> call, Response<List<User>> response) {
List<User> users = response.body();
if(users!=null && users.size()>0)
{
txtName.setText(response.body().get(0).getUserEmail());
}
else
{
txtName.setText("No User found");
}
}
@Override
public void onFailure(Call<List<User>> call, Throwable t) {
Log.d("USER",t.getMessage());
}
});
我试图在文本字段上使用 Retrofit 显示来自 Json 数组的数据,但是文本字段没有显示任何内容。请帮忙。
这是改装服务的要求
@GET("users/:email")
Call<User> getUser(@Query("email") String email );
以及我如何尝试使其显示在文本字段中
Call<User> users = api.getUser(email);
users.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
txtName.setText(response.body().getUserEmail());
}
@Override
public void onFailure(Call<User> call, Throwable t) {
}
});
邮递员的回复是这样的
[
{
"name": "First Name",
"email": "myemail@gmail.com",
"phone": "00000000"
}
]
首先,您将获得 JSON 数组作为响应,因此您需要相应地更改回调。 将您的服务电话更改为此
Call<List<User>> getUser(@Query("email") String email );
然后
Call<List<User>> users = api.getUser(email);
users.enqueue(new Callback<List<User>>() {
@Override
public void onResponse(Call<List<User>> call, Response<List<User>> response) {
List<User> users = response.body();
if(users!=null && users.size()>0)
{
txtName.setText(response.body().get(0).getUserEmail());
}
else
{
txtName.setText("No User found");
}
}
@Override
public void onFailure(Call<List<User>> call, Throwable t) {
Log.d("USER",t.getMessage());
}
});