如何解决JSON解析错误:无法反序列化ArrayList的实例
我正在尝试将JSON发送到POST bodyRequest服务,以将该信息用作Java ArrayList或类似的东西。当我尝试这样做时,会收到反序列化错误
这是我的JSON:
{信息:[{字段:“提供的期限”,表格:“课程”, 列:“学术水平*”},{字段:“默认评分依据*”, 表格:“课程”,列:“默认产品百分比”},{字段: “允许的位置”,表格:“课程”,列:“允许提供”} ]}
这是我的POST bodyRequest服务
@ResponseBody
@PostMapping("/dataMapping/update/table")
public ResponseEntity<Object> updateDataMappingTable(@RequestBody List<UpdateDataMapping> information) {
try {
String update = this.dataMappingService.update(information);
return new ResponseEntity<Object>(update,HttpStatus.OK);
} catch (Exception e) {
Response response = new Response();
response.setError(e.getMessage());
return new ResponseEntity<Object>(response,HttpStatus.OK);
}
}
我的UpdateDataMapping类如下:
public class UpdateDataMapping {
public String fields;
public String tables;
public String columns;
public UpdateDataMapping() {
}
public UpdateDataMapping(String fields,String tables,String columns) {
this.fields = fields;
this.tables = tables;
this.columns = columns;
}
public String getFields() {
return fields;
}
public void setFields(String fields) {
this.fields = fields;
}
public String getTables() {
return tables;
}
public void setTables(String tables) {
this.tables = tables;
}
public String getColumns() {
return columns;
}
public void setColumns(String columns) {
this.columns = columns;
}
}
这是我的错误:
.w.s.m.s.DefaultHandlerExceptionResolver:已解决的[org.springframework.http.converter.HttpMessageNotReadableException:JSON解析错误:无法从START_OBJECT令牌中反序列化
java.util.ArrayList<com.kastech.model.UpdateDataMapping>
的实例;嵌套异常是com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从START_OBJECT令牌中反序列化java.util.ArrayList<com.kastech.model.UpdateDataMapping>
实例 在[来源:(PushbackInputStream);行:1,列:1]]
如果有人可以帮助我,我将不胜感激。
解决方法
您的JSON示例显示您的数组在information
对象内传递。您正在查看当前的堆栈跟踪信息,因为Jackson找不到合适的方法来反序列化请求有效负载。
或者,您可以将请求JSON更改为简单的列表
[ {fields: "Periods Offered",tables: "Courses",columns: "Academic Level*"},{fields: "Default Grading Basis*",columns: "Default Offering Percentage"},{fields: "Allowed Locations",columns: "Allowed to Offer"} ]
或者您可以让POJO代表该information
对象
class UpdateMappingList {
List<UpdateDataMapping> information;
...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。