2011-12-17 159 views
0

我發送一個字符串化的json對象到一個php頁面。我想通過它在PHP中循環。當我使用:Json_decode什麼都不返回

echo $_POST['Tags']; 

導致:

{\"0\":\"tag1\",\"1\":\"tag2\"} 

echo json_decode($_POST['Tags'], true/false); 

不打印任何東西。我不應該至少得到Array

+0

可能重複[如何在運行時禁用PHP魔術引號?](http://stackoverflow.com/questions/1153741/how-can-i-disable-php-magic-quotes-at-runtime) – mario 2011-12-17 14:15:51

回答

2
php > var_dump(json_decode('{\"0\":\"tag1\",\"1\":\"tag2\"}')); 
NULL 

如果你沒有得到任何可見的輸出,你真的應該使用var_dump。而作爲php.net documentation(狀態:

返回值

返回在相應的PHP類JSON編碼值值真,假,空(不區分大小寫),分別返回TRUE,FALSE和NULL。 。否則將返回NULL,如果JSON不能被解碼如果編碼的數據比遞歸限制更深

您的JSON是無效
正確的JSON是:。

["tag1","tag2"] 

{"0":"tag1","1":"tag2"} 

沒有反斜槓。

+0

當添加括號並剝離它的反斜槓時,謝謝。 – Johan 2011-12-17 14:22:43

+0

不客氣:) – TimWolla 2011-12-17 14:23:53