需要在动态添加对象的同时通过Retrofit将JSON作为对象数组发布

问题描述

我必须发布对象的JSON数组。 JSON示例粘贴在下面:

[
{
    "checklistkey": "what is your age ___ and ur bd___","checklistvalue": "yes","taskId": "pmtaSK-cmms-01-71-1"
},{
    "checklistkey": "how r you___? ______","checklistvalue": "no","taskId": "pmtaSK-cmms-DE01-71-1"
}

]

此处的对象数将根据上一个请求中收到的ID动态添加

现在,POJO看起来像这样:

public class CheckListAddRequest {
@Serializedname("taskId")
@Expose
private String taskId;
@Serializedname("checklistkey")
@Expose
private String checklistkey;
@Serializedname("checklistvalue")
@Expose
private String checklistvalue;

public String getTaskId() {
    return taskId;
}

public void setTaskId(String taskId) {
    this.taskId = taskId;
}

public String getChecklistkey() {
    return checklistkey;
}

public void setChecklistkey(String checklistkey) {
    this.checklistkey = checklistkey;
}

public String getChecklistvalue() {
    return checklistvalue;
}

public void setChecklistvalue(String checklistvalue) {
    this.checklistvalue = checklistvalue;
}

public CheckListAddRequest(String taskId,String checklistkey,String checklistvalue) {
    this.taskId = taskId;
    this.checklistkey = checklistkey;
    this.checklistvalue = checklistvalue;
}}

为此的改造要求是:

 @POST("cmms")
@Headers("Content-Type: application/json")
Call<CheckListAddResponse> getCheckListAdd(@Body CheckListAddRequest checkListAddRequest,@Header("X-Auth-Token") String token,@Header("workspace") String workspace);

现在,在添加了创建JSON请求的详细信息的同时,我写了类似的内容

CheckListAddRequest checkListAddRequest = new CheckListAddRequest(taskNumber,checkDesc,statusstring);

现在,如果请求中有多个对象,该如何发送?

解决方法

这应该是一个数组/列表,如果它具有多个动态对象,则可以轻松地更改从列表中添加或从列表中删除或发送的项目

ArrayList

进行此较小的更改。

@POST("cmms")
@Headers("Content-Type: application/json")
Call<CheckListAddResponse> getCheckListAdd(@Body ArrayList<CheckListAddRequest> checkListAddRequest,@Header("X-Auth-Token") String token,@Header("workspace") String workspace);

现在将值传递到数组列表或列表中。