奇怪的行为 Spring 启动 2.2.9,在响应反序列化过程中,parentId 被复制到其中一个子 ID

Strange Behaviour Spring boot 2.2.9, During response deserialization parentId gets copied to one of the child Ids

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

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

没有 ID 为 1 的子项,数据库提取很好,数据在离开后得到处理 Spring 引导休息控制器(假设在 Jackson 反序列化期间的某个地方), 但只有 Id 字段被复制(或被复制为 Parent id)。

这种情况只有一个这样的子对象,只有Id字段,其他对象都可以。

我找到问题了。该问题与 Jackson / Spring.

无关

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

我注意到它只发生在 child 列表中的第一个 child,因此我觉得它非常非常奇怪。