根据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正确解码它。
答案 0 :(得分:3)
您的JSON对我来说是正确的。我猜你是在尝试将JSON包装在单引号或双引号中,因为你的字符串包含两个未转义的字符。
尝试将JSON包装在HEREDOC中,然后解析它:
<?php
$json = <<<EOL
{"foo":"here is a single quote '"}
EOL;
$decoded = json_decode($json);
var_dump($decoded);
请将您的示例JSON替换为您的。