2011-11-21 95 views
1

所以我有一個巨大的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 –

回答

1

您的JSON字符串可能包含一些額外的斜線。 嘗試strip_slashes之前json_decode

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); 
+0

好了,這似乎是合理的。但如果我使用(JSON2.js)JSON.stringify(對象)在JavaScript方面,我張貼該字符串通過隱藏的窗體字段,我如何控制它,所以我可以得到正確的字符串? –