将HTML包含为JSON对象的一部分

时间:2014-11-12 09:32:27

标签: javascript html json

我需要在JSON对象中包含一些HTML和JavaScript作为字符串成员的值。有没有人有一些JS代码方便,可以进行必要的转义,以便可以包含HTML?或者我可以将它转换为Base64但是我仍然需要做一些转义。

因此,如果有任何人有任何JS可以逃避任何HTML(可能包含JavaScript),以便正确转义,我将非常感激。如果有一些东西已经存在,那就没有意义了。

{
    "my_object": {
    "html": "<<div class=\"ad_box\"><img class=\"banner\" src=\"some_ad.png\"\/><h3>&quot;Hot&quot; Items<ul \/><\/div>",

        "item_id": 1234,

    "click_action":"/logAction?id=1234&type=click&info=blah",

        "icon":"http://my.images.com/icons/icon.png"
    }
}

1 个答案:

答案 0 :(得分:0)

这个问题似乎是“JSON对象”表达式中出现混淆的结果。

有两个不同的概念:

  • JavaScript对象
  • JSON字符串

没有什么可以合法地称为“JSON对象”,JSON is a string based exchange format

当您构建对象时,您没有任何转义要做,只需执行myObject.myHtml = someValue;。构建文字对象时,只需执行

var myObject = {
    html : '<div class="ad_box [...] </div>',
    [...]
};

在第二步中,使用

获取JSON字符串
var json = JSON.stringify(myObject);