#java #json #gson
#java #json #gson
Вопрос:
Я использую Gson для игры с JSON. В моем приведенном ниже коде:
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("fname", "john");
jsonObject.addProperty("lname", "cena");
System.out.println(jsonObject.toString());
Он выводится следующим образом:
{"fname":"john","lname":"cena"}
Как я могу напечатать материал, подобный этому, вместо этого в приведенном ниже формате. Как вы можете видеть, у меня есть пробелы и все правильно.
{"fname" : "john", "lname" : "cena"}
Комментарии:
1. JSON не заботится о пробелах вне кавычек… Зачем вам это нужно?
2. Для этого нет причин, о которых я могу думать. Однако, если вам нужно, должно быть легко создать оболочку для
JsonObject
и переопределитьtoString
метод.
Ответ №1:
Вы можете использовать красивую печать Gson. JSON.org в библиотеке есть что-то похожее. (Я уверен, что Джексон тоже так делает). Примечание: это также отформатирует его, чтобы он был очень удобочитаемым.
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(obj);
System.out.println(json);