Json对象数组逐行用Java写

Ata*_*anu 2 java printing arrays json

当我存储该数组时,我有一个带有某些值的数组,我得到这样的结果

[{"id":56678,"Name":"Rehman Agarwal"},{"id":66849,"Name":"Rasul Guha"}]
Run Code Online (Sandbox Code Playgroud)

表示一行。

但我只想得到像

[{"id":56678,"Name":"Rehman Agarwal"},
{"id":66849,"Name":"Rasul Guha"}]
Run Code Online (Sandbox Code Playgroud)

JSON对象之后的新行..

怎么做 ?

编辑: JSONObject && JSONArray 分别用于创建json对象和数组

Ram*_*ava 5

使用gson库,您可以像下面这样漂亮地打印json字符串-

public static String toPrettyFormat(String jsonString) {
    JsonParser parser = new JsonParser();
    JsonObject json = parser.parse(jsonString).getAsJsonObject();

    Gson gson = new GsonBuilder().setPrettyPrinting().create();
    String prettyJson = gson.toJson(json);

    return prettyJson;
}
Run Code Online (Sandbox Code Playgroud)

然后像下面这样称呼它-

public void testPrettyPrint() {
    String compactJson = "{\"playerID\":1234,\"name\":\"Test\",\"itemList\":[{\"itemID\":1,\"name\":\"Axe\",\"atk\":12,\"def\":0},{\"itemID\":2,\"name\":\"Sword\",\"atk\":5,\"def\":5},{\"itemID\":3,\"name\":\"Shield\",\"atk\":0,\"def\":10}]}";

    String prettyJson = toPrettyFormat(compactJson);

    System.out.println("Compact:\n" + compactJson);
    System.out.println("Pretty:\n" + prettyJson);
}
Run Code Online (Sandbox Code Playgroud)