【问题标题】:Does HTML need to be encoded when passed back in JSON?在 JSON 中传递回 HTML 时是否需要编码?
【发布时间】:2010-06-28 23:53:00
【问题描述】:

当通过 JSON 格式的响应传回 HTML 时,是否需要对其进行编码?

【问题讨论】:

    标签: html json grails


    【解决方案1】:

    是的。您将在字符串中传递 HTML 代码,因此代码中的任何引号和反斜杠都必须进行编码。

    例子:

    <div onclick="alert('Line 1\nLine2');">show</div>
    

    会被编码成这样的字符串:

    "<div onclick=\"alert('Line 1\\nLine2');\">show</div>"
    

    例如,像这样放入 JSON 对象表示:

    {"html":"<div onclick=\"alert('Line 1\\nLine2');\">show</div>"}
    

    【讨论】:

    • 此外,任何控制字符都必须转义。我只希望找到\r、\n 和\t,但这并不排除其他人。无论您使用的是什么 JSON 框架,都应该能够为您正确执行此操作。
    【解决方案2】:

    简单的回答“否”JSON 在 JSON 中传回时不需要进行编码。 JSON 对象应该可以由 javascript 引擎直接解析。检查以下内容:

    【讨论】:

      猜你喜欢
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 2012-05-30
      • 1970-01-01
      • 2020-07-03
      • 2011-11-02
      相关资源
      最近更新 更多