gpt4 book ai didi

java - 使用 Jackson 反序列化自引用对象

转载 作者:行者123 更新时间:2023-12-02 08:40:51 25 4
gpt4 key购买 nike

我有一个看起来像这样的 JSON 字符串(简化版):

[
{ "id":1, "friends":[2] },
{ "id":2, "friends":[1,3] },
{ "id":3, "friends":[] }
]

好友内容是列表中其他用户的id。

是否可以通过使用 Jackson 的数据绑定(bind)以某种方式从 JSON 创建一个像下面这样的 Java 类,或者我是否需要一个中间步骤?

public class User {
private long userid;
private List<User> friends;
// ... getters/setters

感谢您的帮助。

最佳答案

没有完全注释的方法来执行此操作,因此您需要自定义 JsonSerializer/JsonDeserializer。 Jackson 1.9 添加 two new features这可能有帮助:

  • ValueInstantiators,因此您可以添加反序列化器的构造函数,以将基本整数转换为 POJO
  • 值注入(inject),以便您可以传递额外的上下文对象(您需要找到已反序列化器对象的 ID,然后从整数映射到实例)

但是我并不是 100% 确定如何针对特定用例结合这两个功能...

关于java - 使用 Jackson 反序列化自引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com