Java GSON-人类可读性
良好[插入日阶段], 有没有一种方法可以将Gson导出为更易于阅读的版本 我现在得到这个:Java GSON-人类可读性,java,json,serialization,export,gson,Java,Json,Serialization,Export,Gson,良好[插入日阶段], 有没有一种方法可以将Gson导出为更易于阅读的版本 我现在得到这个: [{"id":"test","region":{"lower":{"x":163,"y":63,"z":233},"higher":{"x":167,"y":67,"z":237}}}] 但我希望取得这样的成果: [{ "id":"test", "region": { "lower": { "x":163,
[{"id":"test","region":{"lower":{"x":163,"y":63,"z":233},"higher":{"x":167,"y":67,"z":237}}}]
但我希望取得这样的成果:
[{
"id":"test",
"region":
{
"lower":
{
"x":163,
"y":63,
"z":233
},
"higher":
{
"x":167,
"y":67,
"z":237
}
}
}]
谢谢您的建议。您可以在您的gson实例上
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(yourObject));
您可以在您的gson实例上
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(yourObject));
在这种情况下,您不需要从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));
输出:
[
{
"id": "test",
"region": {
"lower": {
"x": 163,
"y": 63,
"z": 233
},
"higher": {
"x": 167,
"y": 67,
"z": 237
}
}
}
]
在这种情况下,您不需要从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));
输出:
[
{
"id": "test",
"region": {
"lower": {
"x": 163,
"y": 63,
"z": 233
},
"higher": {
"x": 167,
"y": 67,
"z": 237
}
}
}
]
它没有按预期工作。输出是什么?您的期望是什么?它是单行打印的。
yourObject
在这里是什么?它是一个简单的json字符串对象吗?@Braj不,它应该是您的数据对象,将被转换为json表示,它工作得很好。它没有按预期工作。输出是什么,您的期望是什么?它以单行打印。这里的yourObject
是什么?它是一个简单的json字符串对象吗?@Braj不,它应该是您的数据对象,将被转换为json表示,它工作得非常好