使用Angular和Spring发布包含数组的对象

时间:2018-12-29 19:45:19

标签: spring-mvc spring-boot

我正在使用 Springboot 在前端使用 Angular 和在后端使用 Java 1.8 的项目,这基本上是RPG角色构建的模拟器(具有诸如健康点,法力值等基本统计信息)。

发布一个字符时可以使用其名称,统计信息。

但是我正在尝试向角色添加项目,这就是我的问题所在。

这是我的 POST mapping in my controller

这是model class for Character,带有其获取器和设置器(“项”的获取/设置也是一个列表)

这就是我的Angular项目中的情况

Modelthe methods in my formCharacter component.tsmy formCharacter Service,最后是您选择项目的view

当我提交表单时,出现此错误“ JSON分析错误:无法从START_OBJECT令牌中反序列化java.util.ArrayList实例

很抱歉,如果有人对如何解决此问题有任何想法,请先感谢。

我猜是我的角色对象中的项目数组引起了序列化问题?

1 个答案:

答案 0 :(得分:0)

这里是JSON的实际问​​题。默认情况下,JSON不能反序列化为Collection,因为它实际上不是JSON Array

确保json应该像这样{...},如果有多个元素,它应该像-[{...},{...}]一样。例如-

{
  "characterName": "lower",
   "healthPoints":"323",
    ...
  "items": [
    ...
  ]
}