我有一个关于如何基于相同的密钥将多个JSON组合成1的问题。关键是第一指数。
例如
String data_a = "{\"results\":[[\"1\",\"6000\"],[\"2\",\"5000\"]]\"}";
String data_b = "{\"results\":[[\"1\",\"2000\"],[\"3\",\"5000\"]]\"}";
String data_c = "{\"results\":[[\"1\",\"3000\"],[\"3\",\"6000\"],
[\"4\",\"1000\"]]\"}";
将字符串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);
答案 0 :(得分:0)
在&条件下迭代while循环除非所有3个地图都没有 空。然后把他们的关键值放在第4张地图上。同时你 需要删除您在第4张地图中放入的特定条目。
while(!H1.isEmpty() && !H2.isEmpty() && !H2.isEmpty()){
H4.put(H*) // H1 key
H*.remove(...) // H1 key
}
你也可以从map&获得所有的键集。放入一套。
Set<int> keys = new Set<int>();
keys.add(h*.keySet())
迭代密钥。