我有一个从Java android应用程序发出的请求,该请求返回了这样的响应:
{
"data":[],
"messages":{
"day_unavailable":{
"unavailable_days":[
"2018-09-24",
"2018-09-25",
"2018-09-26",
"2018-09-27",
"2018-09-28",
"2018-09-29",
"2018-09-30"
]
}
},
"code":"",
"status":"failed",
"status_code":400
}
现在我可以访问消息了,但是正在努力将它们转换为领域对象。
要进行转换,我首先使用该领域对象来拾取不同的消息:
public class ChangeModelVersion extends RealmObject {
public PaymentRequired paymentRequired;
public DayUnavailable dayUnavailable;
public Boolean repairsUnavailble;
}
DayUnavailable
模型在这里:
public class DayUnavailable extends RealmObject {
public String unavailableDays;
}
问题在于unavailable_days
不是字符串,而是字符串数组。并且同时使用List<String>
和ArrayList似乎都会导致错误。
我应该使用什么?
答案 0 :(得分:-1)
只需像这样使用String[]
:
public class DayUnavailable extends RealmObject {
public String[]unavailableDays;
}
或者,如果您想使用列表,则可以手动解析响应并将String
放入List
或Array
中:
try {
JSONObject response = new JSONObject (responseRaw);
JSONObject messages = response.getJSONObject("messages");
JSONObject day_unavailable = response.getJSONObject("day_unavailable");
JSONArray unavailable_days = response.getJSONArray("unavailable_days");
for(int i=0;i<unavailable_days.length();i++) {
String unavailableDay = unavailable_days.getString(i);
// loop and add it to array or arraylist
}
} catch(Exception e) {
e.printStackTrace();
}