Как из String JSON получить String anotherJSON, который он содержит

169
28 сентября 2019, 11:50

Я получаю String jsonObject в контроллере. Структура файла следующая:

{
"name":"name", 
"schema": {
   ... 
   ...
   }
}

Мне нужно распарсить его в pojo и получить "schema" как строку (сохраняя структуру). Т.е. при System.out.print("schema") я должен увидеть:

{
...
... 
}

Я создал класс Collection с полями String name и Object schema и использую GSON чтобы получить Collection.class из String json:

new Gson().fromJson(json, Collection.class);

Но когда я пытаюсь вызвать System.out.print(Collection.schema) я получаю следующий вывод:

{......} - в одну строку.

Мне действительно нужно получить этот объект в качестве строки без форматирования.

Answer 1

Вы можете использовать библиотеку

        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.5</version>
        </dependency> 

Пример использования

public static void main(String[]args){
            String jsonStr = "{\"id\":1,\"title\":\"Yellow Submarine\",\"releaseDate\":\"1969-01-17\",\"artist\":{\"id\":1,\"name\":\"The Beatles\"},\"label\":{\"id\":1,\"name\":\"Apple\"}}";
            System.out.println(formatJSON(jsonStr));
        }
public static String formatJSON(String jsonStr) {
    String str="";
    try {
        ObjectMapper mapper = new ObjectMapper();
        Object json = mapper.readValue(jsonStr, Object.class);
        str = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return str;
}

Вы можете почитать более подробно здесь

READ ALSO
Как выровнять на flex по линии?

Как выровнять на flex по линии?

Есть такая конструкция:

124
Не работают стили на iPhone в любых браузерах

Не работают стили на iPhone в любых браузерах

Проблема в том, что код который я написал отлично работает на андроид устройствах и на компьютерах, а на яблочных девайсах и виндофонах криво...

166
Не работают условия JS, почему и как решить?

Не работают условия JS, почему и как решить?

В JS после первого условия далее условия даже в других функциях, даже с другими id и классами, не работают (именно на скролл)

152