合并json、java中映射的arraylist
我有两个json格式的ArrayList(大小相同),如下所示:合并json、java中映射的arraylist,java,json,dictionary,arraylist,hashmap,Java,Json,Dictionary,Arraylist,Hashmap,我有两个json格式的ArrayList(大小相同),如下所示: List<HashMap<String, String>> list1 = new Arraylist<HashMap<String, String>>(); List<HashMap<String, String>> list2 = new Arraylist<HashMap<String, String>>(); 清单2: [{
List<HashMap<String, String>> list1 = new Arraylist<HashMap<String, String>>();
List<HashMap<String, String>> list2 = new Arraylist<HashMap<String, String>>();
清单2:
[{ " key3": "value3"},{" key33": "value33"}]
预期产出:
[{ " key1": "value1", " key2": "value2", " key3": "value3"},
{ " key11": "value11", " key22": "value22", " key3": "value3"}]
如能早日答复,我们将不胜感激。非常感谢。如果两个ArrayList的类型相同(它们似乎是地图的ArrayList):
如果两个ArrayList的类型相同(它们似乎是地图的ArrayList):
编辑:您可以这样做
for (HashMap<String, String> m : list2) {
HashMap<String, String> t = list1.get(list2.indexOf(m));
for(String key: t.keySet()){
m.put(key, t.get(key));
}
}
for(HashMap m:list2){
HashMap t=list1.get(list2.indexOf(m));
for(字符串键:t.keySet()){
m、 put(键,t.get(键));
}
}
现在合并的项目在列表2中。编辑:您可以这样做
for (HashMap<String, String> m : list2) {
HashMap<String, String> t = list1.get(list2.indexOf(m));
for(String key: t.keySet()){
m.put(key, t.get(key));
}
}
for(HashMap m:list2){
HashMap t=list1.get(list2.indexOf(m));
for(字符串键:t.keySet()){
m、 put(键,t.get(键));
}
}
现在,合并的项目在列表2中。您的预期输出可能是: [{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”}, {“key11”:“value11”、“key22”:“value22”、“key33”:“value33”}] 您没有指出两个列表的大小是否相同。根据您的示例,我假设列表的大小相同。因此,代码可能如下所示:
for (int i = 0; i < list1.size(); i++) {
list1.get(i).putAll(list2.get(i));
}
for(int i=0;i
您的预期输出可能是:
[{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”},
{“key11”:“value11”、“key22”:“value22”、“key33”:“value33”}]
您没有指出两个列表的大小是否相同。根据您的示例,我假设列表的大小相同。因此,代码可能如下所示:
for (int i = 0; i < list1.size(); i++) {
list1.get(i).putAll(list2.get(i));
}
for(int i=0;i
您只需从各个列表中检索Hashmap,然后将它们合并在一起即可
例如
HashMap m = new HashMap();
m.put("key1", "val1");
m.put("key2", "val2");
HashMap m1 = new HashMap();
m1.put("key3", "val3");
HashMap mergeMap = new HashMap();
mergeMap.putAll(m);
mergeMap.putAll(m1);
System.out.println("Map:" + mergeMap);
输出
Map:{key3=val3,key2=val2,key1=val1}您只需从各个列表中检索Hashmap,然后将它们合并在一起 例如
HashMap m = new HashMap();
m.put("key1", "val1");
m.put("key2", "val2");
HashMap m1 = new HashMap();
m1.put("key3", "val3");
HashMap mergeMap = new HashMap();
mergeMap.putAll(m);
mergeMap.putAll(m1);
System.out.println("Map:" + mergeMap);
输出
Map:{key3=val3,key2=val2,key1=val1}感谢您的回复。列表1.addAll(列表2)给出以下O/p:[{{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”}]感谢您的回复。列表1.addAll(列表2)给出了以下O/p:[{{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”}]您最初的输入是什么?这些是JSON值还是Java POJO?原始输入是我要合并的列表,是JSON值。请看一下原始输入是什么?这些是JSON值还是Java POJO?原始输入是我要合并的列表,是JSON值。请看一看,谢谢您的回复。列表1.addAll(列表2)没有给出预期的O/p,也就是说,它给出:[{{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{{{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”}]我已经检查过,正确的json是:
[{“key1”:“value1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”},{“value3”}]
您的json在第一位是无效的[{{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”}]
您是如何得到这个错误的?抱歉,如果我不清楚的话。正如您所指出的,在完成list1.addAll(list2)之后,O/P是[“key1”:“value1”,“key2”:”value2“},{“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”}。然而,正如问题中所述,我需要的O/P是:[{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”,“key3”:“value3”}]啊,我知道了,你想合并对象而不是列表。我想没有内置的方法,你必须自己编写。请参阅我对答案的编辑,我为你编写了代码:)它生成你的json[{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”,“key3”:“value3”}]
感谢您的回复。list1.addAll(list2)没有给出预期的O/p,即它给出:[{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”}]我已经检查过,正确的json是:[{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{“value3”;“value3”},{“value11”key22:“value22”},{“key3:“value3”}]
您的json在第一位是无效的{{“key1:“value1”,“key2:“value2”},{“key3:“value3”},{“key11”,“key22:“value22”},{“key3:“value3”}]
您是如何得到这个错误的?如果我不清楚,很抱歉。正如您所指出的,在完成list1.addAll(list2[{“key1”:“value1”,“key2”:“value2”},{“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”},{“key3”:“value3”},{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”,“key3”:“value3”}啊,我知道了,你想合并对象而不是列表。我想没有内置的方法,你必须自己编写。请参阅我对答案的编辑,我为你编写了代码:)它生成你的json[{“key1”:“value1”,“key2”:“value2”,“key3”:“value3”},{“key11”:“value11”,“key22”:“value22”,“key3”:“value3”}]
Superb!!谢谢一吨。这是我要找的。我将编辑问题以提及相同的尺寸。非常好!!谢谢一吨。这是我要找的。我将编辑问题以提及相同的尺寸。