【发布时间】:2017-08-31 19:05:02
【问题描述】:
请帮我解决这个问题:
Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Can not deserialize instance of java.lang.String out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String out of START_ARRAY token
at [Source: java.io.PushbackInputStream@4010b719; line: 1, column: 31]
我发送以下 JSON 请求:
{"title": "Test", "category": ["2","4","3",1], "description": "Test", "username": ""}
“类别”列出现错误。
我使用 PostgreSQL 数据库 我有以下模型:
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idea_seq")
@SequenceGenerator(name = "idea_seq", sequenceName = "idea_seq", allocationSize = 1)
private Integer id;
@Column(name = "TITLE", length = 100)
@NotNull
@Size(min = 1, max = 100)
private String title;
@Column(name = "CATEGORY", length = 10)
@NotNull
@Size(min = 1, max = 100)
private String[] category;
@Column(name = "DESCRIPTION", length = 1000)
@NotNull
@Size(min = 1, max = 1000)
private String description;
@Column(name = "USERNAME", length = 100)
@NotNull
@Size(min = 1, max = 100)
private String username;
我会很高兴得到任何帮助。我已经有这个错误好几天了。
【问题讨论】:
-
发布相关代码,以及完整的 excatption 堆栈跟踪。另外,修复你的 JSON:
,1]应该是,"1"]。 -
当我在 Google 上搜索此错误消息时,StackOverflow 上的其他三个线程会出现。您是否检查过它们是否适合您的问题?
-
您好 JB Nizet,我已经发布了整个异常堆栈跟踪。你的相关代码是什么? @Lothar:你真的认为我不会先检查这些吗?
-
默认反序列化数组
ava.util.List不是数组。因此,您应该将字段category更改为private List<String> category;。它应该可以工作。
标签: java json spring postgresql