如何将帖子内容编码为JSON?

时间:2012-05-08 作者:amunds

我正在尝试构造一个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选项卡时所示)。

1 个回复
最合适的回答,由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() 如果你需要的话。

结束

相关推荐

将JSON编码的HTML从WordPress传递到JavaScript

我试图通过wp\\u localize\\u script()将帖子的内容(可能包含HTML)传递给JavaScript。wp\\u localize\\u script()无法处理多维数组,因此encoding it in JSON and then decoding it with jQuery.只要您只是文本,并替换" 具有常规\" 在你打电话之前$.parseJSON(). 但是,如果您尝试解析包含HTML的帖子,会出现如下错误:,JSON。分析:应为属性名或“}”http://