如何在没有任何密钥的情况下获取JSON数组(Android)?
我有一个如何在没有任何密钥的情况下获取JSON数组(Android)?,android,json,retrofit2,Android,Json,Retrofit2,我有一个JSON数组,没有任何对象(键),里面有JSON对象,如下所示: [ { "Type": "Meeting", "Name": "TestMeeting", "StartDate": "2016-03-22T08:00:00", "EndDate": "2016-03-24T09:00:00" } ] 我试图解析它,但没有找到成功,有人能建议我如何使用reformation解析这种类型的响应吗?您可以定义一个表示JSON对象的类 import c
JSON数组
,没有任何对象(键),里面有JSON对象
,如下所示:
[
{
"Type": "Meeting",
"Name": "TestMeeting",
"StartDate": "2016-03-22T08:00:00",
"EndDate": "2016-03-24T09:00:00"
}
]
我试图解析它,但没有找到成功,有人能建议我如何使用
reformation
解析这种类型的响应吗?您可以定义一个表示JSON对象的类
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Meeting{
@SerializedName("Type")
@Expose
private String type;
@SerializedName("Name")
@Expose
private String name;
@SerializedName("StartDate")
@Expose
private String startDate;
@SerializedName("EndDate")
@Expose
private String endDate;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
}
在这之后,您可以像这样为改造定义回调
callgetmeetings()代码>如果您使用的是Gson解析,那么简单的做法如下
var model = Gson().fromJson(response.body()!!.string(), Array<Meeting>::class.java).toList()
var model=Gson().fromJson(response.body()!!.string(),Array::class.java).toList()
Json响应:
{"contacts":{"918888302649":0,"917207251056":0,"918888804581":0}}
POJO类:
public class ContactSyncResponseModel {
@SerializedName("contacts")
@Expose
private Map<String, String> result;
public Map<String, String> getResult() {
return result;
}
public void setResult(Map<String, String> result) {
this.result = result;
} }
公共类ContactSyncResponseModel{
@序列化名称(“联系人”)
@暴露
私有地图结果;
公共映射getResult(){
返回结果;
}
公共void setResult(映射结果){
this.result=结果;
} }
列表
,其中事件
有类型、名称、开始日期和结束日期字段。为什么没有任何理由就被否决,我不知道我问了什么wrong@CommonsWare感谢回复您的建议:)10+用于直接请求列表呼叫getMeetings();如果不是数组呢?