簡體   English   中英

Json 中的雙引號在 freemarker 文件中被替換的字符串

[英]Double quotes in Json String replaced in freemarker file

在操作 class 中,我以常規方式獲得了 bean 列表。 然后我使用 Gson 將這個 object 列表轉換為 json 字符串。 這很好用(如下所示):

"{ "employees" : [{ "firstName":"John" , "lastName":"Doe" }, {"firstName":"Anna" , "lastName":"Smith" } , { "firstName":"Peter" , "lastName":"Jones" } ]}";

最后,在我的 freemarker 文件中,我得到了這個變量 (String JSON),但是在其中,所有雙引號都被替換為“& quote;”。

<@sjg.grid id="gridtable"
 caption="My title"
 dataType="json"
 href="${remoteurl}"
 pager="true"
 gridModel="${employeesInJsonString?js_string}"
 rowList="10,15,20"
 rowNum="15"
 rownumbers="true">

<sjg:gridColumn name="firstName" index="firstName" title="FirstName" sortable="false"/>
<sjg:gridColumn name="lastName" index="lastName" title="LastName" sortable="false"/>

結果字符串如下:

"{ & quote;employees& quote; : [{ & quote;firstName& quote;:& quote;John& quote; , & quote;lastName& quote;:& quote;Doe& quote; }, {& quote;firstName& quote;:& quote;Anna& quote; , & quote;lastName& quote;:& quote;Smith& quote; } , { & quote;firstName& quote;:& quote;Peter" , & quote;lastName& quote;:& quote;Jones& quote; } ]}";

如何阻止這種轉變?

PS:我已經嘗試在所有雙引號前加一個反斜杠來轉義字符,但結果是一樣的(resultJsonString = jsonString.replaceAll("\"", "\\""))。

預先感謝您的幫助

我想你要找的只是${yourvar?no_esc}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM