Я получаю 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) я получаю следующий вывод:
{......} - в одну строку.
Мне действительно нужно получить этот объект в качестве строки без форматирования.
Вы можете использовать библиотеку
<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;
}
Вы можете почитать более подробно здесь
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости