如何在JSON字符串中包含javascript?

时间:2012-12-11 06:22:33

标签: javascript jquery json methods

确定。不确定这是个好主意。我正在构建一个模板,它将JSON配置传递给组装模板的Javascript文件。

对于链接,我需要包含一些逻辑如何在我的JSON配置中构建它们。我不得不称之为:

path.href.replace( /.*view=/, "" ) + ".cfm?id="+content.vcard.adresses[1]["iln/gln"]

我的配置JSON:

<ul data-template="true" data-config='{  
    "type":"listview",
    "link":"path.href.replace( /.*view=/, '' ) + '.cfm?id='+content.vcard.adresses[1]['iln/gln']",
    "iconpos":"right"
    }'></ul>

由于引号标记混乱无法工作,因此JSON有效,但将其包装在单引号中会使HTML混乱。

问题
有没有办法在不破坏HTML的情况下传递这个?由于它是一个模板,我希望尽可能保持javascript逻辑干净=不为每个模板实例添加自定义方法。所以我想在这里保留方法调用。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用&#39; HTML实体转义引号:

<ul data-template="true" data-config='{  
    "type":"listview",
    "link":"path.href.replace( /.*view=/, &#39;&#39; ) + &#39;.cfm?id=&#39;+content.vcard.adresses[1][&#39;iln/gln&#39;]",
    "iconpos":"right"
    }'></ul>

以下是演示:http://jsfiddle.net/fVLPd/

答案 1 :(得分:1)

考虑使用JSON.stringify从对象构建完整的JSON字符串。您不必担心错误编码的引号或尝试以其他方式编码引号。

如果您生成模板服务器端 - 使用JSON编码器作为服务器端语言......