Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
反序列化时,字段接受非数组,但是传入的是数组
@PostMapping(path = "/aa", produces = { "application/json;charset=UTF-8" }, consumes= {"application/json;charset=UTF-8"}) @ResponseBody public Object post(@RequestBody Foo foo) { return "{}"; } public class Foo { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
序列使用的是 com.fasterxml.jackson.databind.ObjectMapper
测试:
curl -H "Content-Type:application/json;utf-8" -X POST -d "{\"name\":[\"1\",\"2\"]}" http://localhost:8888/aa
结果复现:
JSON parse error: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token;
nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 1, column: 9] (through reference chain: cn.zno.Foo[\"name\"])
分类:
spring mvc
, json
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!