PHP json_decode()错误

时间:2016-07-18 19:25:15

标签: php json syntax-error

根据JavaScript的JSON.parse和一些在线JSON验证器,我有一个'是'有效JSON的JSON字符串。但是,PHP的json_decode表示存在语法错误,而我在生活中无法找到它/它们的位置。

这是我的JSON字符串http://pastebin.com/pVLmUzQ5(它超过了StackOverflow的帖子长度)

编辑:

JSON包含此结构的一些字段:

"pets":{"":null}

编辑:我忘记提及的是我将JSON粘贴到POST表单中,并从启用了全局XSS清除的CodeIgniter的Input :: post()方法获取数据。这似乎导致了这个问题。我可以从下面的帖子和所有帖子中确定PHP正确解码它。

1 个答案:

答案 0 :(得分:3)

您的JSON对我来说是正确的。我猜你是在尝试将JSON包装在单引号或双引号中,因为你的字符串包含两个未转义的字符。

尝试将JSON包装在HEREDOC中,然后解析它:

<?php

$json = <<<EOL
{"foo":"here is a single quote '"}
EOL;

$decoded = json_decode($json);
var_dump($decoded);

请将您的示例JSON替换为您的。