Lim*_*eth 1 java serialization json export gson
好[插入日期],有没有办法导出Gson更人性化?
我目前得到这个:
[{"id":"test","region":{"lower":{"x":163,"y":63,"z":233},"higher":{"x":167,"y":67,"z":237}}}]
Run Code Online (Sandbox Code Playgroud)
但我希望得到这样的结果:
[{
"id":"test",
"region":
{
"lower":
{
"x":163,
"y":63,
"z":233
},
"higher":
{
"x":167,
"y":67,
"z":237
}
}
}]
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何建议.
你可以setPrettyPrinting()在你的gson实例上
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(yourObject));
Run Code Online (Sandbox Code Playgroud)
在这种情况下,只需尝试使用JsonParser,您就不需要从JSON构造JAVA对象.
String json = "[{\"id\":\"test\",\"region\":{\"lower\":{\"x\":163,\"y\":63,\"z\":233},\"higher\":{\"x\":167,\"y\":67,\"z\":237}}}]";
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser parser = new JsonParser();
JsonElement je = parser.parse(json.toString());
System.out.println(gson.toJson(je));
Run Code Online (Sandbox Code Playgroud)
输出:
[
{
"id": "test",
"region": {
"lower": {
"x": 163,
"y": 63,
"z": 233
},
"higher": {
"x": 167,
"y": 67,
"z": 237
}
}
}
]
Run Code Online (Sandbox Code Playgroud)