2013-05-26 84 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