gpt4 book ai didi

android - 使用 Retrofit Library 获取数据时如何处理 JSON 中丢失的键 android

转载 作者:行者123 更新时间:2023-11-30 01:38:43 25 4
gpt4 key购买 nike

我正在使用高效的改造库来获取数据。我通过 api 获得的 json 如下所示:

[
{
"doctor_detail": [
{
"experience_years": null,
"clinic": [
{
"price": 163,
"main_facility": {
"name": "West Delhi Dental Clinic",
"address": {
"mobile": "+911166107201",
"latitude": null,
"longitude": null,
"locality": {
"city": {
"name": "Delhi"
},
"name": "Janak Puri"
}
}
}
}
],
"specialities": [
{
"name": "Dentist",
"slug": "dentist"
}
],
"owner": {
"first_name": "Bhudev",
"last_name": "Sharma",
"middle_name": null
},
"logo": [],
"doctor_id": "286207",
"education": []
},
{
"experience_years": null,
"clinic": [],
"specialities": [],
"owner": {
"first_name": "Hema",
"last_name": "Anand",
"middle_name": null
},
"logo": [],
"doctor_id": "12137",
"education": []
}
]
},
{
"last_page": 2
},
{
"title": "dentist"
}]

在 json 的第一个对象中,我得到一个数组,其键 doctor_detail 在第一个对象中有两个对象,我得到一个数组,其键 clinic 具有价格键,数组 main_facility 具有一些其他键,如名称、地址。

但是在 doctor_detail 的第二个对象中,我得到了相同的诊所 key ,但由于这个原因,我在诊所内没有任何 key ,我遇到了运行时错误:

java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)

RecyclerAdapter当我要从 ArrayList<String> mPriceArrayList 获取第二个对象的价格时.

所以请告诉我是否有任何方法可以处理此类问题。谢谢

最佳答案

亲爱的拉维我认为这不是你的问题你得到了错误的 JSON 但仍然您可以通过在出现 ArrayIndexOutOfBounds 异常的适配器中使用 try-catch block 来处理它,并且您可以在 catch block 中的 TextView 中设置任何您没有获得键的值,例如:

    try{
mPriceTextView.setText(mPriceArrayList.get(getAdapterPosition()));
}catch(Exception oe){
mPriceTextView.setText("price is missing");
}

关于android - 使用 Retrofit Library 获取数据时如何处理 JSON 中丢失的键 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com