在Sightly中转义JSON字符串

时间:2015-07-07 10:33:51

标签: sightly

我有以下模板:

<body>
  <script type="application/json" id="test">
    [
        {
            "url": "${test}"
        }
    ]
  </script>
</body>

我想使用JSON样式转义来逃避'test'的值。不幸的是,using context='scriptString'以“\ - ”的形式逃脱了短划线,即invalid JSON

如何在此值上使用JSON样式转义?

2 个答案:

答案 0 :(得分:2)

您需要使用context='unsafe'来编写JSON,如下所示:

${test @ context='unsafe'}

答案 1 :(得分:0)

在ScriptString上下文中使用OWASP Encode#forJavascript()。它似乎是一个关于逃避破折号的错误或遗漏文档。

对于网址,您可以使用context ='uri'。对于纯文本,您可以使用context ='text'。