为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过改造提取独特的数据

如何通过改造提取独特的数据

摇曳的蔷薇 2021-08-25 09:45:31
我正在尝试从改造 API 中提取一些数据,它的 JSON 如下所示:{     "data":{        "id":"1",      "type": null,      "links":{           "self":null      },      "attributes":{           "createdAt":null,         "updatedAt":null,         "slug":"teste",         "synopsis":"text",然后我尝试获取这样的特定数据:型号:public class Data {    private ArrayList<Movie> data;    public ArrayList<Movie> getData() {        return data;    }    public void setData(ArrayList<Animes> data) {        this.data = data;    }}public class Movie {    private String id;    private Attributes attributes;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public Attributes getAttributes() {        return attributes;    }    public void setAttributes(Attributes attributes) {        this.attributes = attributes;    }}服务:@GET("movie/{id}")Call<Data> obtainProfile(@Path("id") int id);int id = getIntent().getIntExtra("ID", 0);private void obtainData(final int id) {        ApiService service = retrofit.create(ApiService.class);        Call<Data> profileCall = service.obtainProfile(id);        profileCall.enqueue(new Callback<Data>() {            @Override            public void onResponse(Call<Data> call, Response<Data> response) {                if (response.isSuccessful()) {                    Data data = response.body();                    Movie Movie = data.getData().get(0);                    Attributes attributes = movie.getAttributes();                    textName.setText(attributes.getCanonicalTitle());                } else {                    Log.e("INFO", "onResponse" + response.errorBody());                    Toast.makeText(PerfilActivity.this, "Error connecting to server.", Toast.LENGTH_LONG).show();                }            }我该如何解决这个问题?我试过了,但我无法查看数据。我是否必须为此创建一个列表?我该如何解决这个问题?我试过了,但我无法查看数据。我是否必须为此创建一个列表?
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

将您的更改ArrayList<Movie>为 just Movie。


还要创建另一个类:


public class DataResponse {

    public Data data;

}

并将您的 Retrofit 方法更改为:


@GET("movie/{id}")

Call<DataResponse> obtainProfile(@Path("id") int id);


查看完整回答
反对 回复 2021-08-25
  • 1 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信