Interweb对这一点没有帮助。我们正在使用serializeJSON在ColdFusion中对数据进行编码,并尝试使用json_decode在PHP中对其进行解码。在大多数情况下,这可以正常工作,但是在某些情况下,json_decode返回NULL。我们一直在寻找明显的罪魁祸首,但是serializeJSON似乎正在按预期格式设置内容。还有什么可能是问题?

更新:几个人(明智地)要求我发布导致问题的输出。我会的,除了我们刚刚发现结果集就是我们所有的数据(列出2300多个租赁属性的信息,共565,135个ASCII字符)!这可能是个问题,尽管我在PHP文档中没有看到有关字符串最大大小的任何信息。那里的限制因素是什么?内存?

更新二:看起来问题在于我们的几个用户复制并粘贴了带有“智能”引号的Microsoft Word文本。那些讨厌的用户...

最佳答案

您可以尝试在UTF-8中运行,也可以让PHP知道这一事实。

我遇到了PHP的json_decode无法解码UTF-8 JSON字符串(带有一些“怪异”字符而不是您的 curl 引号的问题)的问题。我的解决方案是通过在正在提交到PHP的HTML页面中插入Content-Type元标记来提示PHP我正在UTF-8模式下工作。这样,提交数据的内容类型(即JSON字符串)也将为UTF-8:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

之后,PHP的json_decode能够正确解码该字符串。

关于php - 从ColdFusion serializeJSON方法到PHP json_decode,有人遇到问题吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/155869/

10-09 20:00
查看更多