如何以格式化的形式输出JSON字符串?

时间:2017-08-02 18:31:19

标签: java json

例如,我想打印如下,而不是一行。这是一个JSON字符串。默认情况下,myJsonObject.toString()是一行字符串。是否有一些org.json.JSONObject方法可以直接输出这种格式化的表单?

 {
    "name":"John",
    "age":30,
    "cars": [
        { "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
        { "name":"BMW", "models":[ "320", "X3", "X5" ] },
        { "name":"Fiat", "models":[ "500", "Panda" ] }
    ]
 }

2 个答案:

答案 0 :(得分:2)

要缩进任何旧的JSON,只需将其绑定为Object,如:

ObjectMapper mapper = new ObjectMapper();

Object json = mapper.readValue(myJsonObject, Object.class);

然后用缩进写出来:

String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);

答案 1 :(得分:0)

有很多方法可以打印漂亮的json字符串。

GSON提供了一个方法setPrettyPrinting(),

例如,

"editor.rulers": []