【发布时间】:2016-02-12 14:15:22
【问题描述】:
在下面的代码中,我正在使用 gson 制作一个 json 字符串:
private String generateData(Map<String, Map<Integer, Set<Integer>>> nodeTable, int i) {
JsonObject jsonObject = new JsonObject();
Set<Integer> pp = nodeTable.get("TEXTER").get(i);
Set<Integer> sp = nodeTable.get("PETER").get(i);
// my above pp and sp variables shows correct values with one space between numbers.
jsonObject.addProperty("description", "Hello. World");
jsonObject.add("data1", gson.toJsonTree(pp));
jsonObject.add("data2", gson.toJsonTree(sp));
System.out.println(jsonObject.toString());
return jsonObject.toString();
}
当我得到我的 json 字符串时,我得到它是这样的。正如您在逗号后看到的那样,所有内容都彼此相邻,没有任何空格。我不想那样。
{"description":"Hello. World.","data1":[0,273,546,819,1092,559],"data2":[816,1644,1368,276]}
我希望 data1 和 data2 变量中的数字之间有一个空格,如下所示:
{"description":"Hello. World.","data1":[0, 273, 546, 819, 1092, 559],"data2":[816, 1644, 1368, 276]}
是否有可能使用 gson 或其他方式来做到这一点?
【问题讨论】:
-
你绑定到库中
toString方法的实现。为什么你喜欢这个不同?处理没关系 -
我正在将 data1 和 data2 传递给我的 python 程序,他们希望它之间有空格。我能想到的最简单的方法是更改此代码而不是更改 python 代码,然后我需要 bcoz更改我们所有的服务器,这是不可能的,所以这就是为什么我想尽可能更改此代码,因为我们可以轻松部署此代码。
-
错误缠身的方法只是在整数的逗号后放置空格,如果它是字符串,为什么那里有数字?仔细考虑。
-
它不会是字符串,它永远是整数。
标签: java json regex string gson