gpt4 book ai didi

java - 如何传入未知结构/类型的 map

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

我想要一些包含其中之一的 map

<String, String> 
<String, Map<String, String>>
<String, Map<String, String[]>>

到目前为止,我有以下内容:

Map<String, ?> any = new HashMap<String, ?>();

当我检索值时,我想执行类似 if values instanceof String[] 的操作,但这不起作用,因为泛型在运行时被删除。我处理随机结构的方法不正确吗?

有哪些可行的选择。我目前正在尝试做类似的事情..

values.get(0) instanceof String[]

感觉有点……不对,有什么意见吗?

编辑:对于我想作为 java bean 处理的每种类型的 json 结构,我都有一个映射

class JAVABEAN{
Map<String, String[]> structure1;
Map<String, Map<String, String>> structure2;
Map<String, ?> anyStructure;
}

anyStructure 中可以包含structure1 或structure2,它包含任何组合(我在实际项目中有超过2 个结构)。

根据项目所在的 map ,我调用不同的方法来处理数据..

for(each item in javabean)
if structure1, call method1..
if structure2, call method2..
if anyStructure, call method1 or method2

有时根本不会用到anyStructure,但总会有至少1个structure1或structure2

EDIT2:这是从休息服务调用的服务,目前处理 json。我接受了一个通过 Jersey 为我转换为 java 的 json,我相信 json 对于这种转换(没有接口(interface))必须很简单,这就是为什么我使用 Map 而不是像 RangeQuery 这样的东西,它会有一个 String 和 String[]成员(member)。

最佳答案

好的,我明白你的问题了。 只需使用 JSON 库。 Gson 或 jackson 。使用 JSON 对象将它们结合在一起,而不是试图将 JSON 分解为表面上的 Java 等价物,Map<String, Map<String, String[]>[]以及如此复杂的废话。

关于java - 如何传入未知结构/类型的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418406/

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