如何解决使用 retforit 从嵌套的 json 扩展 API 中提取数据
我有一个嵌套的 JSON 扩展。我正在尝试使用 Retrofit 获取数据,但没有成功。我将 API 放在下面。我认为这个 API 正在输出 PHP(如果我知道错误,你可以警告我)。如果我的 URL 只包含 json 扩展名,我可以获取数据,但我不知道如何使用这个 url。 我在哪里犯了错误?可以提供资料吗?
//区域API:https://www.themealdb.com/api/json/v1/1/list.php?a=list
public class RegionModel {
@Serializedname("strArea")
public String strArea;
}
public interface RegionAPI {
@GET("list.PHP?a")
Call<List<RegionModel>> getData();
}
public class MainActivity extends AppCompatActivity {
TextView regionTitle;
ArrayList<RegionModel> regionModels;
private String base_URL= "https://www.themealdb.com/api/json/v1/1/";
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
regionTitle=findViewById(R.id.regionTitle);
//BölgeAPI: https://www.themealdb.com/api/json/v1/1/list.PHP?a=list
//***Retrofit Ve JSON***
Gson gson = new GsonBuilder().setLenient().create();//gson objesi9
retrofit = new Retrofit.Builder()
.baseUrl(base_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
loadData();
}
private void loadData()
{
RegionAPI regionAPI = retrofit.create(RegionAPI.class);
Call<List<RegionModel>> call = regionAPI.getData();
call.enqueue(new Callback<List<RegionModel>>() {
@Override
public void onResponse(Call<List<RegionModel>> call,Response<List<RegionModel>> response) {
if(response.isSuccessful())
{
List<RegionModel> responseList=response.body();
regionModels = new ArrayList<>(responseList);
for(RegionModel regionModel : regionModels)
{
System.out.println(regionModel.strArea);
}
}
}
@Override
public void onFailure(Call<List<RegionModel>> call,Throwable t) {
t.printstacktrace();
}
});
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。