在文本视图中使用 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());
        }
    });