2013-05-26 86 views
0

我有一個數組,我試圖解碼和解析json值, 不能正確的。從數組解析json值與PHP

這裏的信息:

$send[0] : 
Array ([0] => {"message-count":"1","messages":[{"error-text":"Missing to param","status":"2"}]}) 

var_dump(json_decode($v_send[0])); 

/* output 
json Dunmpobject(stdClass)#1 (2) { ["message-count"]=> string(1) "1" ["messages"]=> array(1) { [0]=> object(stdClass)#2 (2) { ["error-text"]=> string(16) "Missing to param" ["status"]=> string(1) "2" } } } 
*/ 


var_dump(json_decode($v_send[0], true)); 

/* output 
array(2) { ["message-count"]=> string(1) "1" ["messages"]=> array(1) { [0]=> array(2) { ["error-text"]=> string(16) "Missing to param" ["status"]=> string(1) "2" } } } 
*/ 

$json=json_decode($v_send[0]); 

echo "Start:"; 
echo "<br/><br/>"; 
// To loop 
if (!is_array($json)) die('...'); 
foreach ($json as $key=>$tts_result) 
{ 
    echo $tts_result->callid; 
    echo "<br/><br/>"; 
    echo $tts_result->to; 
    echo "<br/><br/>"; 
    echo $tts_result->messages["status"]; 
    echo "<br/><br/>"; 
    echo $tts_result->error-text; 
} 

在循環中的回聲將產生空的結果。任何人都可以幫忙

+0

難道不該'$鍵 - >'? –

+0

@Fred編號@OP,您是否嘗試過使用'print_r'來查看數組在輸出之前的樣子?瞭解結構是1/2路。如果你得到一個NULL或一個空的數組,問題出在實際的解析或你得到的響應上。 – casraf

+0

是的,第一行是數組內容。 – ACPan

回答

0

$json不是一個數組,它是一個對象(類stdClass)。

如果你想陣列,通過true作爲json_decode第二個參數:

$json = json_decode($v_send[0], true); 
+0

感謝您的意見,嘗試過,但獲得零輸出。我想檢索每個元素值。更多的幫助? – ACPan