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