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/