Java JSON解析错误:无法反序列化com.finance.biblioteca.service.dto.LibroDTO的实例,该实例不在START_数组令牌中;
我能解决这个错误吗?当我想添加一个新对象时,会出现这种情况Java JSON解析错误:无法反序列化com.finance.biblioteca.service.dto.LibroDTO的实例,该实例不在START_数组令牌中;,java,json,parsing,postman,Java,Json,Parsing,Postman,我能解决这个错误吗?当我想添加一个新对象时,会出现这种情况 [ { "id": 52, "titolo": "Le solite sospette", "categorie": [], "autori": [], "editori": [], "anno_uscita": "2015", "idCollana": 1, "disponibilita": 1,
[
{
"id": 52,
"titolo": "Le solite sospette",
"categorie": [],
"autori": [],
"editori": [],
"anno_uscita": "2015",
"idCollana": 1,
"disponibilita": 1,
"prezzo": 9
}
]
“消息”:“JSON解析错误:无法反序列化com.finance.biblioteca.service.dto.LibroDTO
out-START\u数组标记的实例;嵌套异常为com.fasterxml.jackson.databind.exc.MismatchedInputException:无法反序列化com.finance.biblioteca.service.dto.LibroDTO
out-out-out-START\u数组标记的实例\n[来源:(PushbackInputStream);行:1,列:1]
您的JSON字符串以
[
开头,因此它是一个数组,而方法newLibro
只需要一个距离LibroDTO
您应该将该方法的签名更改为:
public LibroDTO newLibro(@RequestBody List libri)
或者将JSON更改为
@PostMapping(URL)
public LibroDTO newLibro(@RequestBody LibroDTO libroDTO)
为了传递单个对象。您能给我看一下librodto吗这是我的dto:private Long id;private String titolo;private List categorie;private List autori;private List editori;private String anno_uscita;private Long idcolana;private int disponibilita;private int prezzo;您不使用JsonProperty吗?不,我从来没有使用过,您可以链接关于的文档吗?错误是:“消息”:“查询未返回唯一结果:9;嵌套异常为javax.persistence.UnuniqueresultException:查询未返回唯一结果:9”,@Max It似乎与原始问题无关。请将stacktrace和相关代码添加到问题中好吗?无论如何,您似乎执行了一个返回对象列表的查询,但尝试将结果分配给非集合变量。例如:
LibroDTO libro=libriRepository.findbyauther(autore);
而不是列出libri=libriRepository.findbyauther(autore);
{ "id": 52, "titolo": "Le solite sospette", "categorie": [], "autori": [], "editori": [], "anno_uscita": "2015", "idCollana": 1, "disponibilita": 1, "prezzo": 9 }