Java JSON分析错误:无法反序列化';com.asc.project.service.dto.TaskDataDTO';
我有一个错误: JSON分析错误:无法反序列化的实例Java JSON分析错误:无法反序列化';com.asc.project.service.dto.TaskDataDTO';,java,spring,spring-boot,postman,Java,Spring,Spring Boot,Postman,我有一个错误: JSON分析错误:无法反序列化的实例 com.asc.skyallign.service.dto.TaskDataDTOout-of-START\u数组令牌; 嵌套异常是 com.fasterxml.jackson.databind.exc.MismatchedInputException:无法 反序列化com.asc.skyallign.service.dto.TaskDataDTO的实例out 在[Source:(PushbackInputStream);第10行的开始\u数
com.asc.skyallign.service.dto.TaskDataDTO
out-of-START\u数组令牌;
嵌套异常是
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法
反序列化com.asc.skyallign.service.dto.TaskDataDTO的实例
out
在[Source:(PushbackInputStream);第10行的开始\u数组令牌的,
列:21](通过引用链:
com.asc.skyallign.service.dto.WorkOrderDTO[“任务数据列表”])
当postJson
API时,这是我的请求:
{
"siteLocationLat": "35.123415",
"workOrderID": "WO-1rmrud5gkdj4r0n6",
"siteId": "NNA-12312312311",
"siteAcessNotes": "No notes",
"siteLocationLong": "128.910283984",
"assignedTo": "ibrahem@test.com",
"timeStamp": 1596738379102,
"email": "ibrahem@test.com",
"taskDataList": [
{
"roll": "2.0",
"azimuth": "120.0",
"tilt": "9.0",
"sectorLocationLat": "35.123451",
"amtImei": "35800121213",
"wakeuUpInterval": "1440",
"sectorID": "NNA-12312312311-1",
"sectorLocationLong": "128.123123",
"taskName": "Install AMT Sector A",
"taskDescription": "Install AMT on Back of the Antenna"
}
]
}
我的WorkOrderDto
是:
public class WorkOrderDTO implements Serializable {
private List<TaskDataDTO> taskDataList=new ArrayList<TaskDataDTO>();
public List<TaskDataDTO> getTaskDataList() {
return taskDataList;
}
public void setTaskDataList(TaskDataDTO taskDataDTO) {
this.taskDataList.add(taskDataDTO);
}
}
public类workOrderTo实现可序列化{
私有列表taskDataList=newarraylist();
公共列表getTaskDataList(){
返回任务数据列表;
}
public void setTaskDataList(TaskDataDTO TaskDataDTO){
this.taskDataList.add(taskDataDTO);
}
}
我的工作订单实体是:
public class WorkOrder implements Serializable {
private List<TaskData> taskDataList=new ArrayList<TaskData>();
public List<TaskData> getTaskDataList() {
return taskDataList;
}
public void setTaskDataList(TaskData taskData) {
taskDataList.add(taskData);
}
}
公共类工单实现可序列化{
私有列表taskDataList=newarraylist();
公共列表getTaskDataList(){
返回任务数据列表;
}
public void setTaskDataList(TaskData TaskData){
taskDataList.add(任务数据);
}
}
当运行我的应用程序并请求api时,在到达我的控制器之前,我在postman body中看到此异常:
JSON分析错误:无法反序列化启动\u数组令牌之外的com.asc.skyallign.service.dto.TaskDataDTO的实例;
嵌套异常是
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法
反序列化com.asc.skyallign.service.dto.TaskDataDTO的实例
out
在[Source:(PushbackInputStream);第10行的开始\u数组令牌的,
列:21](通过引用链:
com.asc.skyallign.service.dto.WorkOrderDTO[“任务数据列表”])
Java Idea终端中的此错误:
错误请求:JSON解析错误:无法反序列化的实例
com.asc.skyallign.service.dto.TaskDataDTO
out-of-START\u数组令牌;
嵌套异常是
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法
反序列化com.asc.skyallign.service.dto.TaskDataDTO的实例
out
在[Source:(PushbackInputStream)处启动\u数组令牌;行:10,
列:21](通过引用链:
com.asc.skyallign.service.dto.WorkOrderDTO[“任务数据列表”])
对我来说很奇怪,你说你设置了任务数据列表,并且你在参数中有一个taskDataDto,你把它添加到列表中WorkOrderDto
taskdatalist
getter和setter应该是这样的
@JsonProperty("taskDataList")
public List<TaskDataList> getTaskDataList() { return taskDataList; }
@JsonProperty("taskDataList")
public void setTaskDataList(List<TaskDataList> value) { this.taskDataList = value; }
@JsonProperty(“任务数据列表”)
公共列表getTaskDataList(){return taskDataList;}
@JsonProperty(“任务数据列表”)
public void setTaskDataList(列表值){this.taskDataList=value;}
您需要在此处包含任务数据dto类以提供帮助-这就是您的错误所在
@JsonProperty("taskDataList")
public List<TaskDataList> getTaskDataList() { return taskDataList; }
@JsonProperty("taskDataList")
public void setTaskDataList(List<TaskDataList> value) { this.taskDataList = value; }