gpt4 book ai didi

java - Gson,反序列化包装类

转载 作者:行者123 更新时间:2023-12-02 12:27:29 24 4
gpt4 key购买 nike

我需要 gson 库的帮助,基本上我必须反序列化如下定义的包装类:

static class WrapperClass {
public int value;
private final String otherData;

public WrapperClass(String otherData) {
this.otherData = otherData;
}

}

我必须“jsonize”的类具有如下字段:

private final WrapperClass wrappedData = new WrapperClass("other data");

包装类的序列化器非常简单:

@Override
public JsonElement serialize(WrapperClass src, Type typeOfSrc, JsonSerializationContext context) {
return context.serialize(src.value);
}

问题是反序列化方面,我不应该重新实例化 WrapperClass 对象,因为默认情况下它已经存在,我只需反序列化它的值,这可以通过 gson 库实现吗?

最佳答案

那么,您想要做的就是:“读取”某个 JSON 字符串的内容并用它“覆盖”现有对象。

我不知道有什么内置方法可以做到这一点。除此之外:在幕后做一些如此复杂的事情听起来也是错误的方法。

因此,我的建议是:明确区分这些职责。含义:不要创建将 JSON 数据“合并到”现有对象中的(几乎违反直觉的)解决方案:明确地执行此操作,逐步执行。喜欢:

  • 读取 JSON 数据并反序列化为一个或多个对象
  • 然后有一个另一个特殊组件使用反序列化对象中找到的信息“更新”您的“旧”对象

关于java - Gson,反序列化包装类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45431357/

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