JSON Beautifier Library для Java - PullRequest
       5

JSON Beautifier Library для Java

7 голосов
/ 28 марта 2011

Я хочу отформатировать строку, содержащую данные JSON, используя Java. Кто-нибудь знает библиотеку с открытым исходным кодом для этого.

Ответы [ 4 ]

13 голосов
/ 28 марта 2011

Если вы начинаете с существующей строки JSON, то Джексон может сделать это за вас:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);

String originalJson = ...
JsonNode tree = objectMapper .readTree(originalJson);
String formattedJson = objectMapper.writeValueAsString(tree);
5 голосов
/ 14 августа 2015

с Джексоном 2.6.1

String beautify(String json) throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    Object obj = mapper.readValue(json, Object.class);
    return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
}

pom.xml:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.6.1</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.6.1</version>
    </dependency>

Преобразование строки JSON в вывод JSON Pretty Print с использованием Jackson

4 голосов
/ 21 июля 2016

Обновление до предыдущего ответа от skaffman, с более новыми версиями Джексона (я думаю, 2+). Вторая строка кода теперь:

objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
1 голос
/ 28 марта 2011
...