【问题标题】:Deserialization of Object serialized by @JsonIdentityInfo由@JsonIdentityInfo 序列化的对象的反序列化
【发布时间】:2019-03-27 13:06:52
【问题描述】:

我正在对我的用户类进行这样的注释以删除输出的循环格式:

@Entity
@Table(name = "USER")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id", scope = User.class)
public class User extends AbstractValueObject {
    private Integer id;
    private String name;
 .....
}

public class Load extends AbstractValueObject {
    private Integer id;
    private User postedBy;
}

所以每当我获取负载列表时,它都会给我如下 JSON 输出:

[
  {
   "id" : 1,
   "postedBy" : {
                  "id":1,
                  "name":"SOF"    
                }
  },
  {
   "id" : 2,
   "postedBy" : 1
  }
]

但客户端希望它以原始格式 - 假设每个负载对象都应包含完整的 postedBy 对象。客户端在 Android - Java 中。

Android 端有什么方法可以在 Android 上以原始格式反序列化对象吗?

预期输出:

   [
      {
       "id" : 1,
       "postedBy" : {
                      "id":1,
                      "name":"SOF"    
                    }
      },
      {
       "id" : 2,
       "postedBy" : {
                      "id":1,
                      "name":"SOF"    
                    }
      }
    ]

我尝试过使用 JSOG,但在某些情况下会失败。

任何帮助将不胜感激。 :)

【问题讨论】:

  • 将您期望的 json 格式放入问题中。
  • 已更新问题。

标签: java android spring jackson


【解决方案1】:

您可以使用 Jsog Converter,它提供了对对象进行编码和解码的库。 https://github.com/jsog/jsog

【讨论】:

    猜你喜欢
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 2013-02-22
    相关资源
    最近更新 更多