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?请留下注释并解释原因。我可能犯了一个错误,但作为伪代码,这应该对操作有所帮助