Java 百里香叶LD+;转义的JSON输出引号

Java 百里香叶LD+;转义的JSON输出引号,java,thymeleaf,Java,Thymeleaf,我正在服务器上生成LD+JSON字符串,需要使用Thyemeleaf在客户端上输出它 在服务器上生成的JSON如下所示: { "@context" : "http://schema.org", "@type" : "FAQPage", "mainEntity" : [ { "@type" : "Question", "n

我正在服务器上生成LD+JSON字符串,需要使用Thyemeleaf在客户端上输出它

在服务器上生成的JSON如下所示:

{
  "@context" : "http://schema.org",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "name" : "question text",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "answer text <a href=\"\">link</a> answer text."
    }

{
“@context”:”http://schema.org",
“@type”:“常见问题解答页面”,
“主要实体”:[{
“@type”:“问题”,
“名称”:“问题文本”,
“接受回答”:{
“@type”:“Answer”,
“文本”:“应答文本应答文本。”
}
正如您所看到的,文本在服务器上的格式正确。我在客户端上的呈现方式如下:

<script type="application/ld+json" th:utext="${faqsJson}">
{

  "@context" : "http://schema.org",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "name" : "question text",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "answer text <a href="\&quot;\&quot;"> answer text."
    }

但HTML中的输出如下所示:

<script type="application/ld+json" th:utext="${faqsJson}">
{

  "@context" : "http://schema.org",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "name" : "question text",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "answer text <a href="\&quot;\&quot;"> answer text."
    }
{
“@context”:”http://schema.org",
“@type”:“常见问题解答页面”,
“主要实体”:[{
“@type”:“问题”,
“名称”:“问题文本”,
“接受回答”:{
“@type”:“Answer”,
“文本”:“应答文本应答文本。”
}

如您所见,要在HTML页面中显示文字文本,您可以使用
th:inline=“text”
——要保留换行符,您还可以使用
空白:预换行;

<div th:inline="text" style="white-space: pre-wrap;">[[${faqsJson}]]</div>
[${faqsJson}]]
生成的HTML显示在浏览器页面上如下所示:

请参阅以供参考


请勿在div标记中的
[
在Thymeleaf表达式的开始处-否则将成为HTML页面上的空白。

不确定在上面的示例中使用
script
标记-这不会在页面上生成任何输出。我是否误解了这个问题?它必须是
script
的一部分…页面上的输出是不需要的。这只是为了让搜索引擎获取这些信息。谢谢,添加
th:inline=“text”
,然后使用
[[${faqsJson}]]
帮助。因此我的代码如下:
[[${faqsjsson}]]