我有一个包含字符串作为值的php关联数组,我将它编码为JSON并将其存储在html数据属性中。这是由一些JS读取的。将PHP的json_encode()总是使用双引号作为字符串分隔符?
到目前为止这么好。
现在,我需要使用单引号的数据属性,否则上下文切换。
<section id="settings" data-settings='{"some":"val"}'>
</section>
的问题是,我可以依靠PHP与双引号总是编码字符串的json_encode()
功能?令人惊讶的是,我似乎无法找到关于此的信息。我只能从数组值中找到引用问题的人的文章。
在此先感谢。
根据[ECMA 404 JSON标准](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf),是的,它将始终使用双引号(请参阅图5) –
是的,但字符串本身的单引号会导致问题 – Steve
_“现在,我需要为数据属性使用单引号,否则上下文会切换”_ - 否,您只需要在数据处理之前正确处理数据你把它放到HTML上下文中。 'htmlspecialchars' – CBroe