2016-11-21 56 views
1
<?php 

$json=file_get_contents('php://input',true); 
$data = json_decode($json, true); 

print_r($data); 
?> 

給定的輸出是{"EventTitle":"Game","EventBody":"body","EventDate":"20 November, 2016","EventType":"party"}json_decode返回JSON字符串不是數組

JSON數據發佈是:

{"EventTitle":"Game","EventBody":"body","EventDate":"20 November, 2016","EventType":"party"} 

寫在可變JSON數據並將其傳遞到json_decode作品但發佈同一從「php://輸入」返回一個JSON數據而不是關聯數組。

+0

var_dump($ json)'print? – tkausl

+0

是的,它打印此值 'string(107)「」{\「EventTitle \」:\「Game \」,\「EventBody \」:\「body \」,\「EventDate \」:\「11月20日,2016 \「,\」EventType \「:\」party \「}」「' –

+0

如果您將'file_get_contents('php:// input',true);'更改爲'file_get_contents('php://輸入');'? – bassxzero

回答

2

它看起來像@ tkausl是正確的。您收到的JSON已被雙重編碼。由於它是雙重編碼的,臨時解決方案是對其進行雙重解碼。

$data = json_decode(json_decode($json), true); 

但是,真正的解決辦法是要弄清楚爲什麼它是這樣的開始與和修復它(如果它是你而定)。

相關問題