【发布时间】:2018-04-08 21:19:55
【问题描述】:
我正在使用 Retrofit 来从 API 中检索数据。这是网址http://mindicador.cl/api,我需要检索名称为“uf”、“dolar”、“euro”和“utm”的对象,所有这四个都在一次调用中。这是我基于 json 的 Java 类。
public class IEconomicoAPI {
private String version;
private String autor;
private String fecha;
@SerializedName(value = "uf", alternate = {"dolar", "euro", "utm"})
private IEconomicoObject uf;
/* All Getter and Setter methods */
}
这是我的调用方法来检索现在不工作的数据。
void call() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(MiIndicadorAPI.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
MiIndicadorAPI api = retrofit.create(MiIndicadorAPI.class);
final Call<IEconomicoAPI> iEconomicoAPICall = api.getAPI();
iEconomicoAPICall.enqueue(new Callback<IEconomicoAPI>() {
@Override
public void onResponse(Call<IEconomicoAPI> call, Response<IEconomicoAPI> response) {
String codigo = response.body().getUf().getCodigo();
if (codigo.equals("uf")) {
Log.e("info", "nombre: " + response.body().getUf().getNombre());
}
}
@Override
public void onFailure(Call<IEconomicoAPI> call, Throwable t) {
}
});
}
我正在考虑创建 4 个对象(一个用于 uf、dolar、euro 和 utm)的解决方案,但我认为是多余的,因为所有这些对象都具有相同的字段,更方便的方法应该是只创建一个对象。无论如何,我希望你指导我如何解决这个问题。感谢您的提前。
【问题讨论】:
标签: android json retrofit retrofit2