用Java逐行写入Json对象数组
我有一个有值的数组 当我存储该数组时,得到的结果如下用Java逐行写入Json对象数组,java,arrays,json,printing,Java,Arrays,Json,Printing,我有一个有值的数组 当我存储该数组时,得到的结果如下 [{"id":56678,"Name":"Rehman Agarwal"},{"id":66849,"Name":"Rasul Guha"}] 意思是在一行中 但我只想得到像这样的输出 [{"id":56678,"Name":"Rehman Agarwal"}, {"id":66849,"Name":"Rasul Guha"}] JSON对象后的新行 怎么做 编辑:我使用JSONObject&&JSONArray分别创建json对象和数组
[{"id":56678,"Name":"Rehman Agarwal"},{"id":66849,"Name":"Rasul Guha"}]
意思是在一行中
但我只想得到像这样的输出
[{"id":56678,"Name":"Rehman Agarwal"},
{"id":66849,"Name":"Rasul Guha"}]
JSON对象后的新行
怎么做
编辑:我使用
JSONObject&&JSONArray
分别创建json对象和数组使用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;
}
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);
}
下面这样称呼它-
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;
}
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);
}
这些答案有没有帮助呢?快速而肮脏,用
“\”}、{\”、{code>替换为“\”}、\n{\'>replace(“}、{”、“}、\n{”)
解决这个问题。。谢谢@maraca的帮助。有没有什么内置的方法可以做到这一点?添加一个库只是为了在新行上打印每个条目,这似乎太容易了。