发布JSON对象到PHP
问题描述:
所以我有一个巨大的javascript对象,我想通过它到PHP。发布JSON对象到PHP
我想要的是: - 使用字符串化把它作为一个隐藏字段 的价值 - 点击提交
在PHP中,如果我
echo $_POST['hidden']
JSON字符串似乎完美, 但是当我使用
json_decode($_POST['hidden'])
我得到空
如果我使用jQuery的
$.post
,我得到完全理想的结果:我能使用就可以了json_decode。
有人可以向我解释我做错了什么? 谢谢
答
您的JSON字符串可能包含一些额外的斜线。 尝试strip_slashes
之前json_decode
。
答
这里是同样的错误类型
//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);
+0
好了,这似乎是合理的。但如果我使用(JSON2.js)JSON.stringify(对象)在JavaScript方面,我张贴该字符串通过隐藏的窗体字段,我如何控制它,所以我可以得到正确的字符串? –
试试这个:http://stackoverflow.com/questions/689185/json-decode-returns-null-php –