将JSON对象发布到PHP

将JSON对象发布到PHP,php,json,Php,Json,所以我有一个巨大的javascript对象,我想把它传递给PHP 我尝试的是: -使用stringify将其作为隐藏字段的值 -点击提交 在PHP中,如果我 echo $_POST['hidden'] JSON字符串看起来很完美, 但是当我使用 json_decode($_POST['hidden']) 我得到空值 如果我使用jQuery的 $.post ,我得到了理想的结果:我能够在上面使用json_解码 有人能解释一下我做错了什么吗? 谢谢您的JSON字符串可能包含一些额外的斜杠。

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

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

在PHP中,如果我

echo $_POST['hidden'] 
JSON字符串看起来很完美, 但是当我使用

json_decode($_POST['hidden']) 
我得到空值

如果我使用jQuery的

$.post
,我得到了理想的结果:我能够在上面使用json_解码

有人能解释一下我做错了什么吗?
谢谢

您的JSON字符串可能包含一些额外的斜杠。
json\u decode
之前尝试
strip\u slashes
,也许您需要执行urldecode

这里有相同的错误类型

//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);
//错了

$str1=试试这个:好的,这似乎是合理的。但是,如果我在javascript端使用(JSON2.js)JSON.stringify(object),我会通过一个隐藏的表单字段发布该字符串,我如何控制它以获得正确的字符串?