发布JSON对象到PHP

发布JSON对象到PHP

问题描述:

所以我有一个巨大的javascript对象,我想通过它到PHP。发布JSON对象到PHP

我想要的是: - 使用字符串化把它作为一个隐藏字段 的价值 - 点击提交

在PHP中,如果我

echo $_POST['hidden'] 

JSON字符串似乎完美, 但是当我使用

json_decode($_POST['hidden']) 

我得到空

如果我使用jQuery的

$.post 

,我得到完全理想的结果:我能使用就可以了json_decode。

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

+1

试试这个:http://stackoverflow.com/questions/689185/json-decode-returns-null-php –

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

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

这里是同样的错误类型

//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方面,我张贴该字符串通过隐藏的窗体字段,我如何控制它,所以我可以得到正确的字符串? –