Java从嵌套映射中拆分映射
我有一个嵌套的映射,如下所示Java从嵌套映射中拆分映射,java,map,hashmap,Java,Map,Hashmap,我有一个嵌套的映射,如下所示 {domains={A={"name":"R01","uniqueId":"9SJE"},B={"name":"B01","uniqueId":"9BJE"},C={"name":"C01","uniqueId":"9CJE"}} 如何通过传递键将其拆分为一个单独的映射,并以map的形式获取值 实际地图将如下所示: { domains={img1={"name":"R01","uniqueId":"9SJE"},img2={={"name
{domains={A={"name":"R01","uniqueId":"9SJE"},B={"name":"B01","uniqueId":"9BJE"},C={"name":"C01","uniqueId":"9CJE"}}
如何通过传递键将其拆分为一个单独的映射,并以map的形式获取值
实际地图将如下所示:
{ domains={img1={"name":"R01","uniqueId":"9SJE"},img2={={"name":"B01","uniqueId":"9BJE"}}}
这个问题不清楚,所以我将尝试回答,但列出我的假设。 如果我的假设是错误的,那么答案当然是错误的 我假设{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);
}
公共映射getDomainProperties(映射映射,字符串域名){
如果(!map.containsKey(“域”){
返回null;//如果愿意,也可以抛出异常。
}
Map domainMap=Map.get(“域”);
if(!domainMap.containsKey(域名)){
返回null;//如果愿意,也可以抛出IllegalArgumentException或类似命令
}
return(Map)domainMap.get(domainName);
}
由于未指定输入映射,您会收到一些有关强制转换的警告。从您的示例中,它可能类似于:
Map<String, Map<String, Map<String, String>>> but that seemed a bit messy to write in the example
Map,但在示例中编写它似乎有点混乱
是jSon还是什么?请使用您迄今为止尝试过的代码。是的,这是一个简单的映射而不是jSon。为什么您认为输入有换行符?可能是一个必须解析的字符串?-1?请留下注释并解释原因。我可能犯了一个错误,但作为伪代码,这应该对操作有所帮助