使用php从数组解析json值
我有一个数组,我试图解码和解析json值, 我做不好 以下是信息:使用php从数组解析json值,php,json,parsing,Php,Json,Parsing,我有一个数组,我试图解码和解析json值, 我做不好 以下是信息: $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"]=&g
$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;
}
$send[0]:
数组([0]=>{“消息计数”:“1”,“消息”:[{“错误文本”:“缺少参数”,“状态”:“2”}]})
变量转储(json解码($v_发送[0]);
/*输出
json DUNMObject(stdClass){1(2){[“消息计数”]=>string(1)“1”[“消息”]=>array(1){[0]=>object(stdClass){[“错误文本”]=>string(16)”缺少参数“[“状态”]=>string(1)“2”}
*/
var_dump(json_解码($v_send[0],true));
/*输出
数组(2){[“消息计数”]=>string(1)“1”[“消息”]=>array(1){[0]=>array(2){[“错误文本”]=>string(16)”缺少参数“[“状态”]=>string(1)“2”}”
*/
$json=json_decode($v_send[0]);
回声“开始:”;
回声“
”;
//循环
如果(!is_array($json))死(“…”);
foreach($json作为$key=>$tts\u结果)
{
echo$tts_result->callid;
回声“
”;
回显$tts_结果->至;
回声“
”;
回显$tts_结果->消息[“状态”];
回声“
”;
echo$tts_结果->错误文本;
}
循环中的回声给出空结果。有人可以帮忙吗?
$json
不是数组,而是对象(类stdClass
)
如果需要数组,请将true
作为json\u decode
的第二个参数传递:
$json = json_decode($v_send[0], true);
这不应该是
$key->
?@Fred No.@OP,您是否尝试过在输出数组之前使用print\r
查看数组的外观?理解结构是其中的一半。如果您得到一个NULL或空数组,问题在于实际解析或您得到的响应。是的,第一行是数组内容。感谢您的评论,尝试了,但没有得到任何输出。我想检索每个元素的值。更多的帮助?