Java 如何替换JsonIdentityInfo';完整对象的id是多少?

Java 如何替换JsonIdentityInfo';完整对象的id是多少?,java,json,jackson,jsonidentityinfo,Java,Json,Jackson,Jsonidentityinfo,我的问题与之类似,但我在使用Java,我问的是关于jackson的问题,而不是第三方的问题 我正在从服务器向客户端发送JSON。为了节省空间,我正在使用@JsonIdentityInfo,客户端收到: [ { "id": 1, "nestedObject": { "id": 2, "someInt": 2, "someString": "a" } }, { "id": 3, "nestedObject": 2

我的问题与之类似,但我在使用Java,我问的是关于jackson的问题,而不是第三方的问题

我正在从服务器向客户端发送JSON。为了节省空间,我正在使用
@JsonIdentityInfo
,客户端收到:

[
  {
    "id": 1,
    "nestedObject": {
      "id": 2,
      "someInt": 2,
      "someString": "a"
    }
  },
  {
    "id": 3,
    "nestedObject": 2
  }
]
但是客户机需要真实/完整的JSON表示,因为它使用的是不支持JsonIdentityInfo的解析器。Jackson是否有办法将紧凑的表示形式“半反序列化”为完整的表示形式

[
  {
    "id": 1,
    "nestedObject": {
      "id": 2,
      "someInt": 2,
      "someString": "a"
    }
  },
  {
    "id": 3,
    "nestedObject": {
      "id": 2,
      "someInt": 2,
      "someString": "a"
    }
  }
]

在做了更多的研究之后,正如评论中所说,现在似乎不可能做到。

只有在Sherlock编写新功能的情况下。似乎您需要使用Jackson视图。请检查此链接。@eg04lt3r我看不出这是如何解决任何问题的。该链接显示了如何按需发送2种不同的JSON表示。我只想发送一个。jackson似乎没有反序列化标记为
@JsonIdentityInfo
的对象的功能。我认为唯一可能的解决方案是编写自定义反序列化程序。很多人都要求这样做,但杰克逊没有现成的解决方案。