я использую JSON-простой и мне нужно красиво распечатать данные JSON (сделать их более читабельными).
Я не смог найти эту функцию в этой библиотеке. Как это обычно достигается?
java
json
pretty-print
json-simple
mabuzer
источник
источник
scriptEngine.eval("result = JSON.stringify(JSON.parse(jsonString), null, 2)");
GsonBuilder
, так как я использовал,gson.toJson(object)
я просто должен был изменить свой экземпляр сGson gson = new Gson();
на,Gson gson = new GsonBuilder().setPrettyPrinting().create();
и мой код продолжал работать, но довольно печатал объект вместо одной строки.Я использовал встроенные методы org.json, чтобы красиво печатать данные.
Порядок полей в JSON является случайным для каждого определения. Конкретный порядок зависит от реализации синтаксического анализатора.
источник
Кажется, GSON поддерживает это, хотя я не знаю, хотите ли вы переключиться с библиотеки, которую вы используете.
Из руководства пользователя:
источник
С Джексоном (
com.fasterxml.jackson.databind
):От: Как включить вывод в формате JSON для симпатичной печати (Джексон)
Я знаю, что это уже есть в ответах, но я хочу написать здесь отдельно, потому что есть вероятность, что у вас уже есть зависимость от Джексона, и все, что вам нужно, это дополнительная строка кода.
источник
Если вы используете Java API для реализации JSON Processing (JSR-353), вы можете указать это
JsonGenerator.PRETTY_PRINTING
свойство при созданииJsonGeneratorFactory
.Следующий пример был первоначально опубликован в моем блоге .
источник
Моя ситуация - мой проект использует устаревший (не JSR) парсер JSON, который не поддерживает красивую печать. Тем не менее, мне нужно было создать довольно напечатанные образцы JSON; это возможно без добавления дополнительных библиотек, если вы используете Java 7 и выше:
источник
Красивая печать с GSON в одну строку:
Помимо встраивания, это эквивалентно принятому ответу .
источник
Теперь этого можно достичь с помощью библиотеки JSONLib:
http://json-lib.sourceforge.net/apidocs/net/sf/json/JSONObject.html
Если (и только если) вы используете перегруженный
toString(int indentationFactor)
метод, а не стандартныйtoString()
метод.Я подтвердил это в следующей версии API:
источник
Большинство существующих ответов либо зависят от какой-то внешней библиотеки, либо требуют специальной версии Java. Вот простой код для печати строки JSON, только с использованием общих API-интерфейсов Java (доступен в Java 7 для более поздних версий, хотя не пробовал более старую версию).
Основная идея состоит в том, чтобы изменить форматирование на основе специальных символов в JSON. Например, если наблюдается '{' или '[', код создаст новую строку и увеличит уровень отступа.
Отказ от ответственности: я проверял это только для некоторых простых случаев JSON (базовая пара ключ-значение, список, вложенный JSON), поэтому может потребоваться некоторая работа для более общего текста JSON, такого как строковое значение с кавычками внутри, или специальных символов (\ n, \ т и т. д.).
источник
В одной строке:
Библиотека json-io ( https://github.com/jdereg/json-io) ) - это небольшая ( ) библиотека без каких-либо других зависимостей, кроме JDK.
В дополнение к симпатичной печати JSON, вы можете сериализовать объекты Java (целые графы объектов Java с циклами) в JSON, а также читать их.
источник
Следуя спецификациям JSON-P 1.0 ( JSR-353 ), более актуальное решение для данного
JsonStructure
(JsonObject
илиJsonArray
) может выглядеть следующим образом:источник
В JSONLib вы можете использовать это:
Из Javadoc :
источник
Вы можете использовать Gson как ниже
Из поста JSON довольно печатать с помощью Gson
Кроме того, вы можете использовать Джексон, как показано ниже
Из поста Pretty print JSON на Java (Джексон)
Надеюсь, это поможет!
источник
Используя org json. Ссылка ссылка
Используя Gson. Ссылка ссылка
Используя Джексона. Ссылка ссылка
Используя Генсона. Ссылочная ссылка .
источник
Это сработало для меня, используя Джексона:
источник
mapper
?Вы можете использовать небольшую библиотеку JSON
источник
У Underscore-Java есть статический метод
U.formatJson(json)
. Поддерживаются пять типов форматов: 2, 3, 4, вкладки и компактный. Я поддерживаю проект. Живой примерВывод:
источник