当我进入第二个循环时,我正在寻找一种获取特定键值的方法。我正在使用snakeyaml并将其加载到Map。我的yaml看起来像这样:
number:
id: status.number
label: Number
contactType:
id: status.contact_type
label: Contact Type
我尝试做的只是获取id的密钥和值。它可能非常明显,但我还没有找到办法。
Map<String, Map<String, String>> a = (Map<String, Map<String, String>>) yaml.load(input);
for (Map.Entry<String, Map<String, String>> t : a.entrySet()) {
String key = t.getKey();
for (Map.Entry<String, String> e : t.getValue().entrySet()) {
System.out.println("OuterKey: " + key + " InnerKey: " + e.getKey() + " VALUE:" + e.getValue());
}
}
答案 0 :(得分:0)
要获取&#34;内部键&#34;的值,您不需要遍历每个内部地图。
在下面的示例中,我假设您已经拥有一个包含所需内键的innerKey
变量。
Map<String, Map<String, String>> a = (Map<String, Map<String, String>>) yaml.load(input);
for (Map.Entry<String, Map<String, String>> t : a.entrySet()) {
String outerKey = t.getKey();
String innerValue = t.getValue().get(innerKey);
System.out.println("OuterKey: " + outerKey + " InnerKey: " + innerKey + " VALUE:" + innerValue);
}