当前位置: 首页 > 知识库问答 >
问题:

保存对象列表返回无法反序列化错误

谯志诚
2023-03-14

我使用spring boot和thymeleaf我试图保存一个对象列表。

public class GECPD {
    public Integer id;
    public String name;
    public List<GEPD> geL;
    public Integer giId;     
    public Integer sGEId;
}
  Set<GECPD> gECL = new HashSet<>();
  ...
  model.addAttribute("gECL", new ArrayList<>(gECL));
<input name="id[0]" type="hidden" value="136">
<select name="sGEId[0]" class="form-control">
 <option value="246">01</option>
    <option value="391">00</option>
</select>
  @PutMapping(value = "/{id}/ge")
  public ResponseEntity updateGE(@PathVariable("id") Integer id, @RequestBody List<GECPD> dto) {
        ....
        return new ResponseEntity(dto,HttpStatus.OK);
  }
var form = transForm.serialize('#gEForm');
var url = "/rest/spi/"  + $("#spi").val() + "/ge";
form = JSON.stringify(form);
jQuery.ajax({
    type: "put",
    url: url,
    contentType: "application/json",
    data: form,
    success: function (data, status, jqXHR) {
    },
    error: function (jqXHR, status) {

        checkError(jqXHR);
    }
});
{"id":["136"],"sGEId":["246"]}

我得到这个结果

ERREUR:{“时间戳”:“2018-06-29T15:36:58.427+0000”,“状态”:400,“错误”:“错误请求”,“消息”:“JSON解析错误:不能反序列化java.util.arrayList的START_OBJECT令牌外的实例;嵌套异常是com.fasterxml.jackson.databind.exc.mismatchedinputException:不能反序列化java.util.arrayList的START_OBJECT令牌外的实例\n在[源:(

你知道吗?

共有1个答案

左丘兴生
2023-03-14

你的前端没问题...您需要修改服务器端

@PutMapping(value = "/{id}/ge")
  public ResponseEntity updateGE(@PathVariable("id") Integer id, @RequestBody GECPDList dto) {
        ....
        return new ResponseEntity(dto,HttpStatus.OK);
  }

在GECPDS中

public GECPDList class{
    private List<GECPD> gecpds;
}
 类似资料:
  • 问题内容: 我有一个Java类,它是DynamoDB中表的数据模型。我想使用Dynamo 的to 和item。班上一名成员是一名。因此,我使用来对该字段进行序列化和反序列化。 该列表可以通过成功地序列化。但是,当我尝试取回条目并阅读列表时,它会引发异常:。好像将数据反序列化为而不是。我如何摆脱这个问题? MCVE: 问题答案: 问题的一部分是整个DynamoDB Mapper SDK如何处理泛型。

  • (数据类)实体。JAVA (数据类)实体。JAVA 我试着说: 我犯了一个错误: 我已经把和我错过了什么?

  • 问题内容: 使用取消序列化对象时出现以下错误: JSONMappingException无法构造org.springframework.data.Page的实例,问题:抽象类型只能用其他类型信息实例化。 我正在尝试将JSON字符串序列化为表示类型页面的Spring数据对象T。 该User班是一个简单的与和名称。我要反序列化的字符串是: 这将导致异常: 由于是对象,因此无法修改它,我认为这与我在别处

  • 我有一个抽象的超类A,我有几个具体的子类B,C,D 在序列化方面,我执行以下操作: 没问题。我现在想反序列化这个。我知道我不能实例化一个抽象类,那么这是如何实现的呢? 这不起作用: 编辑:我把这个添加到我的抽象超类中:(仍然没有运气) 再次编辑:我现在遇到以下错误: 看看JSON,@class不在那里。我怎样才能做到?我试过: 但这并没有奏效。有这方面的例子吗?如何告诉对象映射器对类使用我的注释?

  • 这是包含列表的POJO JSON具有以下结构: 运行时,web服务的结果运行良好,但反序列化会打印此错误:

  • 问题内容: 我试图序列化和反序列化内部对象的数组列表: HairList对象也是一个可序列化的对象。 此代码执行返回以下错误: 排队 我不知道我在做什么错。你能给个小费吗? 更新: 解决: 仅使用HairBirt的本机数组而不是ArrayList即可工作: 代替 感谢大家的帮助。 问题答案: 不要使用-而是使用二进制数据并对它进行base64编码,以将其转换为字符串而不会丢失信息。 我强烈怀疑这是