【发布时间】:2017-05-23 03:20:35
【问题描述】:
我有一个关于如何基于同一个键将多个 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);
【问题讨论】:
-
除非用花括号括起来,否则您的字符串不是有效的 JSON。
-
谢谢,会更新
-
看起来这不正确 -> ["1", "6000", "2000", "3000"], ......你的意思是 {"1" : [ " 6000", "2000", "3000"] ,......},
-
喜欢你的目的其实也可以。我也可以阅读结果。但问题是合并json。我不知道。