如何在Java中合并3个或更多JSON
我有一个关于如何基于同一个键将多个JSON组合成1的问题。键是第一个索引 例如 将字符串a、b、c组合为1,如下所示:如何在Java中合并3个或更多JSON,java,json,hashmap,gson,Java,Json,Hashmap,Gson,我有一个关于如何基于同一个键将多个JSON组合成1的问题。键是第一个索引 例如 将字符串a、b、c组合为1,如下所示: { "results ": [ ["1", "6000", "2000", "3000"], ["2", "5000", "", ""], ["3", "", "5000", "6000"], ["4", "", "", "1000"] ] } 在这里,我尝试使用gson转换为Map。但是混淆了如何进行循环和匹配密钥 Map firstOb
{
"results ": [
["1", "6000", "2000", "3000"],
["2", "5000", "", ""],
["3", "", "5000", "6000"],
["4", "", "", "1000"]
]
}
在这里,我尝试使用gson转换为Map。但是混淆了如何进行循环和匹配密钥
Map firstObject = new Gson().fromJson(data_a, HashMap.class);
Map secondObject = new Gson().fromJson(data_b, HashMap.class);
Map thirdObject = new Gson().fromJson(data_c, HashMap.class);
在while循环中迭代,条件为直到&除非所有3个映射都不在
空的。然后把它们的键值放在第四张地图上
需要删除您放在第四张地图中的特定条目
您还可以从map&put-in-set中获取所有键集
Set<int> keys = new Set<int>();
keys.add(h*.keySet())
Set key=new Set();
keys.add(h*.keySet())
迭代该键 除非用大括号括起来,否则字符串是无效的JSON。谢谢,will Updated看起来不正确->[“1”、“6000”、“2000”、“3000”],……你是说{“1”:[“6000”、“2000”、“3000”],…},就像你的目的一样。我还可以阅读结果。但问题是合并json。我不知道。但是我们如何匹配钥匙呢?在数据a、b和c之间。从映射中获取所有键。&然后从其他映射中拾取这些键值,或者您可以获取映射映射的键集并添加到该集中
while(!H1.isEmpty() && !H2.isEmpty() && !H2.isEmpty()){
H4.put(H*) // H1 key
H*.remove(...) // H1 key
}
Set<int> keys = new Set<int>();
keys.add(h*.keySet())