Отображение довольно напечатанного JSON из переменной с Java Spring boot Thymeleaf - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь передать красиво напечатанный JSON в качестве переменной и отобразить его на странице HTML. в моем. java файле:

@RequestMapping(value = "/page1")
public String callback(Model model){
    String fruits = "{\n" +
                    "    \"fruit\": \"Apple\",\n" +
                    "    \"size\": \"Large\",\n" +
                    "    \"color\": \"Red\"\n" +
                    "}";
    JSONObject json_fruit = new JSONObject(fruits);
    System.out.println(json_fruit.toString(4));
    model.addAttribute("result", json_fruit.toString(4));
    return "page1";

на моей странице 1. html файл:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8" />
    <title>Page1</title>
</head>
<body>
<p th:text="'JSON: ' + ${result}"></p>
</body>
</html>

когда я System.out.println (), я получаю свой json данные отформатированы следующим образом:

{
    "size": "Large",
    "color": "Red",
    "fruit": "Apple"
}

но на моей html странице:

JSON: { "size": "Large", "color": "Red", "fruit": "Apple" }

Можно ли сохранить символы новой строки в HTML? Как мне этого добиться?

1 Ответ

1 голос
/ 09 июля 2020

используйте:

<p th:text="'JSON: ' + ${result}"  style="white-space: pre"></p>
...