我最近将Grails安装从2.2更新到2.3.1,并在尝试在<g:javascript>环境中使用常规表达式来获取某些json数据结构时遇到错误。
这是一个例子:
<g:javascript>
var foo = ${ bar as grails.converters.JSON };
doSomeStuff();
</g:javascript>
这会将整个JSON字符串转义为Unicode字符(
\u005b\u007bid:1\u002c name:.....)。如何获得原始字符串。正如文档指出的那样:我尝试使用
raw() 关键字。但是没有运气。我没有更改任何与XSS相关的配置。多数民众赞成在我的配置:
grails.views.default.codec = "none"
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
编辑:
修复此错误之前的临时解决方案:
$.parseJSON(decodeURIComponent(uglyUnicodeString))
请您参考如下方法:
这是一个错误。请参阅此问题和链接的问题:
http://jira.grails.org/browse/GRAILS-10641




