我正在尝试从改造 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);
添加回答
举报
0/150
提交
取消