我有一个错误:
JSON分析错误:无法反序列化com的实例。asc。skyalign。服务dto。TaskDataDTO
超出起始\u数组标记;嵌套的异常是com。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法反序列化com的实例。asc。skyalign。服务dto。TaskDataDTO
在[Source:(PushbackInputStream);第10行,第21列]处的启动外数组标记(通过引用链:com.asc.skyallign.service.dto.WorkOrderDTO[“taskDataList”])
当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 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);
}
}
当运行我的应用程序并请求api时,在到达我的控制器之前,我在postman body中看到此异常:
JSON分析错误:无法反序列化com的实例。asc。skyalign。服务dto。TaskDataDTO
超出起始\u数组标记;嵌套的异常是com。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法反序列化com的实例。asc。skyalign。服务dto。TaskDataDTO
在[Source:(PushbackInputStream);第10行,第21列]处的启动外数组标记(通过引用链:com.asc.skyallign.service.dto.WorkOrderDTO[“taskDataList”])
Java Idea终端中的此错误:
错误请求:JSON解析错误:无法反序列化com的实例。asc。skyalign。服务dto。TaskDataDTO
超出起始\u数组标记;嵌套的异常是com。fasterxml。杰克逊。数据绑定。exc.MismatchedInputException:无法反序列化com的实例。asc。skyalign。服务dto。TaskDataDTO
在[Source:(PushbackInputStream);行:10,列:21](通过引用链:com.asc.skyallign.service.dto.WorkOrderDTO[“taskDataList”])处的启动外数组令牌
public void setTaskDataList(TaskDataDTO taskDataDTO) {
this.taskDataList.add(taskDataDTO);
}
对我来说很奇怪,你说你设置了任务数据列表,并且你在参数中有一个taskDataDto,你把它添加到列表中WorkOrderDto
taskdatalist
getter和setter应该是这样的
@JsonProperty("taskDataList")
public List<TaskDataList> getTaskDataList() { return taskDataList; }
@JsonProperty("taskDataList")
public void setTaskDataList(List<TaskDataList> value) { this.taskDataList = value; }
这是我的JSON: {信息:[{字段:“提供的期间”,表:“课程”,列:“学术水平*”},{字段:“默认评分基准*”,表:“课程”,列:“默认提供百分比”},{字段:“允许的地点”,表:“课程”,列:“允许提供”}]} 这是我的POST bodyRequest服务 这是我的错误: .W.S.M.S.DefaultHandlerExceptionResolver:解析[org.springframe
我有一个带有restTemplate调用的方法,如下所示: SomeClass.Class: API返回一个数组,我收到的错误是:org.springframework.web.client.RestClientException:提取类型[class...]和内容类型[application/json;charset=utf-8]的响应时出错;嵌套异常为org.springframework.h
我能解决这个错误吗?当我想添加一个新对象时,会出现这种情况 “消息”:“JSON分析错误:无法反序列化实例脱离START_ARRAY内标识;嵌套异常为com.fasterxml.jackson.databind.exc.MismatchedInputException:无法反序列化实例脱离START_ARRAY内标识\n位于[源:(PushbackInputStream);行:1,列:1]”
这是包含列表的POJO JSON具有以下结构: 运行时,web服务的结果运行良好,但反序列化会打印此错误:
问题内容: 这是我的课 最初的一个实际上需要转换为良好的json数据。这是最初的坏人 这是我的json数据,我无法反序列化。即使更改,我仍会收到默认值 我的自定义封面 问题答案: 您可以使用json.net以显示的格式对a进行反序列化和重新序列化,只要您使用custom即可。这是必需的,因为默认情况下,对象集合在JSON数组之间进行序列化,但是在JSON中,对象集合以单个对象的紧凑形式进行序列化,