奇怪的行为Spring Boot 2.2.9,在反序列化过程中,反序列化parentId被复制到子ID之一

问题描述

应用程序中没有错误,但这是响应的样子

"parent": {
    "id": 1,"children": [
      {
        "id": 1
      },{
        "id": 2
      }
    ]
  }

没有ID为 1 的子代,DB提取很好,数据在离开Spring Boot Rest Controller之后被操纵了(假设在Jackson反序列化期间某处),但是只有Id字段正在获取复制(或作为父ID复制)。

只有一种这样的子对象和唯一的Id字段会发生这种情况,其他对象才是好的。

解决方法

我发现了问题。该问题与Jackson / Spring无关。

问题来自javascript,我已经在javascript中越过了MAX_SAFE_INTEGER,因此,当原始响应转换为Json时,就会观察到这种奇怪的行为。

我注意到它只发生在第一个孩子中,因此我觉得这很奇怪。