将JSON对象发布到PHP

时间:2011-11-21 12:40:41

标签: php json

所以我有一个巨大的javascript对象,我想把它传递给PHP。

我正在尝试的是:     - 使用stringify将其作为隐藏字段的值     - 点击提交

在PHP中,如果我

echo $_POST['hidden'] 

JSON字符串看起来很完美, 但是当我使用

json_decode($_POST['hidden']) 

我得到NULL

如果我使用jQuery的

$.post

,我得到了完全想要的结果:我能够在其上使用json_decode。

有人可以向我解释我做错了什么吗? 感谢

3 个答案:

答案 0 :(得分:1)

您的JSON字符串可能包含一些额外的斜杠。 在strip_slashes之前尝试json_decode

答案 1 :(得分:1)

也许你需要做urldecode? http://php.net/manual/en/function.urldecode.php

答案 2 :(得分:0)

这里是相同的错误类型

//wrong
$str1 = <<<EOD
{“dealList”:”\r\n\t”}
EOD;

//right
$str2 = <<<EOD
{“dealList”:”\\r\\n\\t”}
EOD;

//wrong
$str3 = <<<EOD
{‘dealList’:'\r\n’}
EOD;

//wrong
$str4 = <<<EOD
{‘dealList’:'\\r\\n’}
EOD;

//wrong
$str5 = “{‘dealList’:'\r\n’}”;

//wrong
$str6 = “{‘dealList’:'\\r\\n’}”;

//right
$str7 = ‘{“dealList”:”\r\n”}’;

$c = json_decode($str1);