-1

在解析 JSON 文件时,如下所示:

{
"heading1" : [
  {
    "heading2" : {
        "subhead2" : {
           "value" : "value<heading2>"
        }
     },
     "heading3" : [
        {
           "heading4" : {
              "subhead4" : "value<heading4>",
           },
           "heading5" : [
              {
                 "subhead51" : {
                    "511" : "value<heading51>",
                 },
                 "subhead52" : {
                    "522" : "value<heading52>",
                 },
               <..similar such heading5 sets>
              }
           ],
          }
      }
  }
 ],
}

我有一个 ArrayList 变量,如下所示。

   List<Map<String,String>> childMap = new ArrayList<Hashmap<String,String>>();

我将值输入到这个 childMap 中,如下所示:

  for(i = 0; i<result.length; i++){
    Map<String,String> childSubMap = new HashMap<String,String>();
     childsubMap.put(heading51,value<heading51>);
     childsubMap.put(heading52,value<heading52>);

    childMap.add(childSubMap);
  }

父映射变量:

   Map<String,String> parentMap = new HashMap<String,String>();
     parentMap.put(heading2,value<heading2>);
     parentMap.put(heading4,value<heading4>);

我正在使用最终的组合地图进行数据提取。

有没有办法像下面这样组合它:

                 Key             |       Value
  __________________________________________________________
  heading2, value<heading2>      |  <Set 1>
  heading4, value<heading4>      |    heading51, value<heading51>
                                 |    heading52, value<heading52>
                                 |  <Set 2>
                                 |    heading51, value<heading51>
                                 |    heading52, value<heading52>
                                 |  ..<many such Sets>

我在这里先向您的帮助表示感谢!

4

1 回答 1

2

如果您只想将列表中的所有地图合并为一个地图,然后执行

for (Map<String,String> m : childMap)
{
    parentMap.putAll(childMap);
}

如果您有任何重复的密钥,则将保留最后一个,其余的将被丢弃。

于 2012-05-08T23:33:17.243 回答