微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 retforit 从嵌套的 json 扩展 API 中提取数据

如何解决使用 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 举报,一经查实,本站将立刻删除。