我正在使用以json格式返回數組的API。被接收的JSON的代碼是:如何在PHP中訪問json數組的特定字段?
Array ([0] => Array ([phone] => 00[_id] => 52e68920acfced017af80234 [name] => John [email] => [email protected] [country] => France) [1] => Array ([phone] => 111222333 [_id] => 52e68acas87fa0987a [name] => James [email] => [email protected] [country] => Germany))
我要訪問我的PHP文件單獨處理數據的JSON數組的各個領域。例如,訪問第一寄存器的名字,我用下面的代碼:
$cuerpoRespuesta = ejecutarPOST($URLS['retrieve'], $api_id, $api_key, array()); // This is the API call and I keep the json array in "$cuerpoRespuesta".
$data = json_decode($cuerpoRespuesta, TRUE); //Now I decode json array
echo $data[0]["name"]; //Here I show data
但不顯示任何東西,我得到以下錯誤:
Warning: json_decode() expects parameter 1 to be string, array Given in C:\Retrieve.php on line 65
線65對應於json_decode。我究竟做錯了什麼?我在這裏先向您的幫助表示感謝。
UPDATE:
我已經試過的var_dump($ cuerpoRespuesta)功能,我得到這個:
array (size=2)
0 =>
array (size=5)
'phone' => string '00' (length=9)
'_id' => string '52e68920acfced017af80234' (length=24)
'name' => string 'John' (length=4)
'email' => string '[email protected]' (length=14)
'country' => string 'France' (length=6)
1 =>
array (size=5)
'phone' => string '00' (length=9)
'_id' => string '52e68ac7acfced017af80235' (length=24)
'name' => string 'John' (length=4)
'email' => string '[email protected]' (length=14)
'country' => string 'France' (length=6)
根據API文檔是JSON,但是......如果不是,我不知道它是什麼:/
的錯誤是非常不言自明:檢查什麼是'$ cuerpoRespuesta'通過發出'的var_dump($ cuerpoRespuesta)',並檢查什麼正在發生。順便說一句,我建議你不要用本地語言編寫代碼[以西班牙語爲例],它會讓你更難理解你在像StackOverflow這樣的更廣泛的受衆中正在做什麼。 – moonwave99
它看起來不像JSON,所以你不需要做json_decode。 –
謝謝你的答案。 moonwave99,我不知道如何使用「var_dump ...」你能解釋一下嗎?非常感謝。 Phil,根據我使用的API文檔,返回的數組是JSON格式。 :/ – Monchou2