我正在尝试构造一个json对象,但在使用\\u内容时遇到了困难,因为它会返回换行符,这会导致脚本失败。收到的错误消息为:Uncaught SyntaxError: Unexpected token ILLEGAL
Example of the json:
[ {image : \'http://localhost/wp-content/uploads/2012/04/example.png\', title: \'Example string
with newlines
that outputs illegally!\'}]
理想情况下,我希望它输出HTML内容(如在编辑器中按HTML选项卡时所示)。
最合适的回答,由SO网友:fuxia 整理而成
要始终输出JSON函数json_encode( $string )
. 该功能并非在所有主机上都可用。别担心,WordPress在wp-includes/compat.php
. 这是一个包装class Services_JSON::encodeUnsafe()
(见wp-includes/class-json.php
).
如果您查看源代码,您将看到:对字符串进行编码并不是一件小事。:)
有一点不同:原生PHPjson_encode()
接受第二个参数$options
从PHP 5.3.0开始。WordPress的回退并没有。
新行编码为\'\\n\'
JSON格式;您无法获得与TinyMCE中HTML选项卡中相同的输出。
当然,还有一个后备方案json_decode()
如果你需要的话。