相同代码的Cjson解码错误


cjson decoding error on identical code

尝试使用PHP发布JSON数据,但此文本显示- {"message":"cjson解码错误","code":500,"error":true}

这是通过浏览器提交的数据(使用Live HTTP Headers插件来获取它):

{"节点":[{" id ":"fbm: n # 1445506477266"、"类型":"书签","parentId":"根","refId":空,"href":","文本":"(新书签)","desc":","标签":","cr":1445506584}],"修订":1、"令牌":"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS + gwg = = "}

这是我的数据:

json_encode(array("nodes"=>array(array("id"=>"fbm:n#1445506477266", "type"=>"bookmark", "parentId"=>"ROOT","refId"=>null,"href"=>"","text"=>"[New Bookmark]","desc"=>"","tags"=>"","cr"=>1445506584)), "revision"=>1,"token"=>"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS+gwg=="))

当我打印我的数据时,我得到完全相同的(除了json_encode函数用'转义/,但我在JSON中读取它无关紧要)。这是data

的输出

{"节点":[{" id ":"fbm: n # 1445506477266"、"类型":"书签","parentId":"根","refId":空,"href":","文本":"(新书签)","desc":","标签":","cr":1445506584}],"修订":1、"令牌":"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS + gwg = = "}

如你所见,一切都是一样的(除了)。即使使用Beyond Compare工具来比较这些代码之间的每个字符,也没有差异。

为什么代码仍然返回解码错误?也尝试使用JSON_UNESCAPED_SLASHES(所以没有添加斜杠),没有结果。

您的标记似乎不正确。

你可以用这段代码检查;

$a = json_encode(array("nodes"=>array(array("id"=>"fbm:n#1445506477266", "type"=>"bookmark", "parentId"=>"ROOT","refId"=>null,"href"=>"","text"=>"[New Bookmark]","desc"=>"","tags"=>"","cr"=>1445506584)), "revision"=>1,"token"=>"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS+gwg=="));
print_r($a);
echo '<br>';
echo '{"nodes":[{"id":"fbm:n#1445506477266","type":"bookmark","parentId":"ROOT","refId":null,"href":"","text":"[New Bookmark]","desc":"","tags":"","cr":1445506584}],"revision":1,"token":"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS+gwg=="}';

编辑:JSON_UNESCAPED_SLASHES为我工作。

$a = array("nodes"=>array(array("id"=>"fbm:n#1445506477266", "type"=>"bookmark", "parentId"=>"ROOT","refId"=>null,"href"=>"","text"=>"[New Bookmark]","desc"=>"","tags"=>"","cr"=>1445506584)), "revision"=>1,"token"=>"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS+gwg==");
json_encode($a,JSON_UNESCAPED_SLASHES);
print_r($a);
echo '<br><br><br>';
echo '{"nodes":[{"id":"fbm:n#1445506477266","type":"bookmark","parentId":"ROOT","refId":null,"href":"","text":"[New Bookmark]","desc":"","tags":"","cr":1445506584}],"revision":1,"token":"MTQ0NTUwNjQ3Ny4yOS1O9m2hacygwtDuox8/fHtN/efVUtNC9RvMlQbPAS+gwg=="}';