gpt4 book ai didi

java - 使用 gson 反序列化 EnumMap

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

我有一个格式如下所示的 json 字符串,我正在尝试使用 gson 对其进行反序列化

{
"MAPS": [
{
"value": true,
"enabled": [
{
"isoCountryCode": "USA"
}
]
}
]
}

下面是我的类和枚举的结构

public class Configuration {
private Map<EnumType, List<Object>> enumToObjectMap;
}

public enum EnumType {
MAPS;
}

当我尝试使用

反序列化它时
new Gson().fromJson(jsonString, Configuration.class)

我得到 enumToObjectMap 的空值。请帮助我解决同样的问题。

最佳答案

可能有一个更正确的解决方案,但这里有一些解决方法:

  1. 将 JSON 字符串包装在父字段中:

    jsonString = "{\"enumToObjectMap\":" + jsonString + "}";
    Configuration c = new Gson().fromJson(jsonString, Configuration.class);
  2. 独立反序列化映射并通过构造函数或 setter 将其传递到您的类中:

    Configuration c = new Configuration();
    c.setMap(new Gson().fromJson(jsonString,
    new TypeToken<EnumMap<EnumType, List<Object>>>() {}.getType()));

关于java - 使用 gson 反序列化 EnumMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43330860/

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