如何在没有任何密钥的情况下获取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();如果不是数组呢?