2017-06-10 53 views
0

我不能爲我的生活弄清楚爲什麼我不能讓這個JSON工作問題用PHP和JSON

這是它是如何從API回來

"{"errorCode":5,"errorDescription":"Unknown account"}" 

我已經嘗試了所有的下面進入「未知帳戶」

$error = $result['errorCode":5,"errorDescription']; 
$error = $result['errorCode']; 
$error = $result['errorDescription']; 

我將是確定的,即使只是試圖爲錯誤代碼5,所以我可以做一個檢查,以進一步腳本,如果帳戶中有或沒有。

任何想法我失蹤?

+2

向我們展示獲取響應的代碼。機會是你首先必須'json_decode',並且在那之後它可能是'$ result-> errorCode'。使用'print_r'來檢查它的結構。 – ceejayoz

回答

2

試試這個:

$json = '{"errorCode":5,"errorDescription":"Unknown account"}'; 
$arr = json_decode($json, true); 
$error = $arr['errorDescription']; 

在這種情況下你把JSON並將其解析到函數PHP的json_decode,機智真值作爲第二個參數它返回一個關聯錯誤,您可以通過按鍵讓你的價值。

DEMO

+0

omg我忘記了這個「$ result = json_decode($ cexecute,true);」 –

+0

它可以發生,很高興幫助你! 接受答案,以幫助其他人與您的同樣的問題,如果這已經解決了你的問題。謝謝 –

1

它實際上是一個簡單的事情,因爲目前已經有內置函數在PHP處理JSON。這些是json_encode和json_decode。

$result='{"errorCode":5,"errorDescription":"Unknown account"}'; 
var_dump($result); 

$json=json_decode($result); 
var_dump($json); 

echo "errorCode={$json->errorCode}<br>"; 
echo "errorDescription={$json->errorDescription}<br>"; 

嘗試以上操作。請注意,json_decode可以將字符串轉換爲對象(默認)或關聯數組。

$json2=json_decode($result,TRUE); 
var_dump($json2); 

echo "errorCode=".$json2['errorCode']."<br>"; 
echo "errorDescription=".$json2['errorDescription']."<br>";