无法从 START_OBJECT 令牌中反序列化 int[] 的实例
Posted
技术标签:
【中文标题】无法从 START_OBJECT 令牌中反序列化 int[] 的实例【英文标题】:Cannot deserialize instance of int[] out of START_OBJECT token 【发布时间】:2019-02-12 19:25:56 【问题描述】:大家好,我想将 int 和 String 数组作为 RequestBody 发送: 这是json:
"customUiModel": [1, 3, 5],
"user": "user"
这是端点代码:
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public CustomUiModel createCustomUiObject(@RequestBody @Valid int[] customUiModel, String user)
return customAppService.saveCustom(customUiModel, user);
这是错误:
"message": "JSON 解析错误:无法反序列化 int[]out 实例 START_OBJECT 令牌;嵌套异常是 com.fasterxml.jackson.databind.exc.MismatchedInputException:不能 反序列化实例 ofint[] out of START_OBJECT token\n at [Source: (PushbackInputStream);行:1,列:1]","路径":"/custom/save"
我尝试使用 Array 而不是这个 int[] 但我遇到了同样的错误...
【问题讨论】:
JsonMappingException: Can not deserialize instance of java.lang.Integer out of START_OBJECT token的可能重复 【参考方案1】:创建一个对象而不是int[], String
来保存它们,
public class Example
private int[] customUiModel;
private String user;
并将控制器方法更改为,
public CustomUiModel createCustomUiObject(@RequestBody @Valid Example exe)
【讨论】:
json 应该保持不变? @xmlParser 是的,customUiModel
和 user
,它会根据同一个请求而改变吗?
我现在会尝试,但我认为它不适用于相同的 json
一切正常,先生。谢谢!
有人能说出为什么对象类在这种情况下有效吗?提前致谢。以上是关于无法从 START_OBJECT 令牌中反序列化 int[] 的实例的主要内容,如果未能解决你的问题,请参考以下文章
无法从 START_OBJECT 令牌中反序列化 java.util.ArrayList 的实例
无法读取文档:无法从 START_OBJECT 令牌中反序列化 java.lang.String 的实例
JSON 解析错误:无法从 START_OBJECT 令牌中反序列化 `byte[]` 的实例
JSON 解析错误:无法从 START_OBJECT 令牌中反序列化 java.util.ArrayList 的实例
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从 START_OBJECT 令牌中反序列化 `java.util.Arra
无法从 START_OBJECT 令牌中反序列化 `java.lang.Long` 的实例;在 Spring Boot 帖子上