仅使用root-Android解析JSON文件
我还需要解析电影数据库中的JSON:仅使用root-Android解析JSON文件,android,json,parsing,callback,Android,Json,Parsing,Callback,我还需要解析电影数据库中的JSON: [ { "iso_3166_1": "AD", "english_name": "Andorra" }, { "iso_3166_1": "AE", "english_name": "United Arab Emirates" }, 这是我的API服务: @GET("configuration/countries") Call<LanguageModel> getLanguages(
[
{
"iso_3166_1": "AD",
"english_name": "Andorra"
},
{
"iso_3166_1": "AE",
"english_name": "United Arab Emirates"
},
这是我的API服务:
@GET("configuration/countries")
Call<LanguageModel> getLanguages(
@Query("api_key") String apiKey);
然后,我做了这个调用,将所有的值对放到一个HashMap中:
private HashMap<String, String> initializeMapLang() {
HashMap<String, String> tmp = new HashMap<>();
ApiService apiService = ApiBuilder.getClient(DetailActivity.this).create(ApiService.class);
Call<LanguageModel> call = apiService.getLanguages(BuildConfig.API_KEY);
call.enqueue(new Callback<LanguageModel>() {
@Override
public void onResponse(Call<LanguageModel> call, Response<LanguageModel> response) {
Pair<String, String> resultLang = new Pair<>(response.body().getId(), response.body().getOriginalLanguage());
tmp.put(resultLang.first, resultLang.second);
}
@Override
public void onFailure(Call<LanguageModel> call, Throwable t) { }
});
return tmp;
}
private HashMap initializeMapLang(){
HashMap tmp=新的HashMap();
ApiService ApiService=ApiBuilder.getClient(DetailActivity.this).create(ApiService.class);
Call Call=apiService.getLanguages(BuildConfig.API_KEY);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
Pair resultLang=新对(response.body().getId(),response.body().getOriginalLanguage());
tmp.put(resultLang.first,resultLang.second);
}
@凌驾
public void onFailure(Call,Throwable t){}
});
返回tmp;
}
问题是我没有得到任何回应。我的模型正确吗?您的api服务返回的是
语言模型的简单列表。改型可以为您处理此问题,您只需更改端点定义即可
@GET("configuration/countries")
Call<LanguageModel> getLanguages(
@Query("api_key") String apiKey);
@GET(“配置/国家”)
调用getLanguages(
@查询(“api_键”)字符串(api键);
到
@GET(“配置/国家”)
调用getLanguages(
@查询(“api_键”)字符串(api键);
@GET("configuration/countries")
Call<LanguageModel> getLanguages(
@Query("api_key") String apiKey);
@GET("configuration/countries")
Call<List<LanguageModel>> getLanguages(
@Query("api_key") String apiKey);