0

配列があり、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"]=> 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;
}

ループ内のエコーは空の結果を返します。誰でも助けることができますか?

4

1 に答える 1

0

$jsonは配列ではなく、(クラスの) オブジェクトstdClassです。

配列が必要な場合はtrue、次の 2 番目の引数として渡しjson_decodeます。

$json = json_decode($v_send[0], true);
于 2013-05-26T14:51:33.803 に答える