gpt4 book ai didi

java - GSON反序列化/序列化具有未确定的键名称的json字符串

转载 作者:行者123 更新时间:2023-11-30 07:05:36 25 4
gpt4 key购买 nike

我有这样的 JSON:

#   "trig_cond": {
# "_and": {
# "param1": ["op", "value1"],
# "param2": ["op", "value2"], ...
# },
# "_or": {
# "param1": ["op", "value1"],
# "param2": ["op", "value2"], ...
# }
# }

“_and”/“_or”部分具有未确定数量的映射到列表对象(每个包含两个项目)的键。如何将其反序列化为 java 对象?我查看了各种自定义反序列化选项,但我不明白如何针对此示例 json 执行此操作。

最佳答案

根据您的要求,您可以采取几种不同的选项。当您有未知数量的键时,您可以采取的最简单的解决方案之一就是将 POJO 的这些部分保留为 JSONObject。

例如,这个 POJO 可以满足您将 JSON 反序列化为 java 对象的要求,并且仍然提供您所追求的灵 active 。

public class SamplePojo {
TrigCond trig_cond;

public static class TrigCond {
JsonObject _and;
JsonObject _or;
}
}

如果您愿意,您也可以将它们拆分为不同的文件。

此外,由于在您的示例中,您知道这些 param1param2 数组元素包含哪些类型的值,因此您可以使用 Map

这是您可能更喜欢的另一个示例:

public class SamplePojo {
TrigCond trig_cond;

public static class TrigCond {
Map<String, String[]> _and;
Map<String, String[]> _or;
}
}

请告诉我我是否正确理解了您的问题!

关于java - GSON反序列化/序列化具有未确定的键名称的json字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40197435/

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