如何在Java中合并3个或更多JSON

如何在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

我有一个关于如何基于同一个键将多个JSON组合成1的问题。键是第一个索引

例如

将字符串a、b、c组合为1,如下所示:

{
 "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())