我有一个嵌套的地图如下,
{domains={A={"name":"R01","uniqueId":"9SJE"},B={"name":"B01","uniqueId":"9BJE"},C={"name":"C01","uniqueId":"9CJE"}}
如何通过传递密钥将其拆分为单个地图并将值作为地图获取。
实际地图将如下:
{ domains={img1={"name":"R01","uniqueId":"9SJE"},img2={={"name":"B01","uniqueId":"9BJE"}}}
答案 0 :(得分:-1)
问题不明确,所以我会尝试回答,但列出我的假设。 如果我的假设不正确,那么当然答案是不正确的。
我假设{domains = {A = {表示法并不意味着您将此作为文本,但您有一张包含地图的地图,包含地图。
我假设你想要进入A,B,C
的内部地图这可以这样工作:
public Map<String,String> getDomainProperties(Map map, String domainName) {
if (!map.containsKey("domain") {
return null; // or throw an exception if you prefer.
}
Map domainMap = map.get("domain");
if (!domainMap.containsKey(domainName)) {
return null; // or throw IllegalArgumentException or similar if you prefer
}
return (Map<String,String>) domainMap.get(domainName);
}
由于未指定输入映射,因此会收到有关强制转换的警告。从你的例子中可以看出:
Map<String, Map<String, Map<String, String>>> but that seemed a bit messy to write in the example