0

これは私のコードです:

$array = array(
"Birds" => 
array(
'group' => 1,
"Bird" => array(

array('id' => 1, 'img' => "img1.png", 'title' => "kate"),
array('id' => 2, 'img2' => "img2.png", 'title' => "mary")
)) );


$json = json_encode($array);
echo json_decode($json);

出力は次のとおりです。

//JSON OUTPUT {"Birds":{"group":1,"Bird":[{"id":1,"img":"img1.png","title":"cardinal"},{"id":2,"img2":"img2.png","title":"bluejay"}]}}

クラス stdClass のオブジェクトを文字列に変換できませんでした

4

3 に答える 3

1

試す

var_dump($json);

これにより、オブジェクトやその他の非プリミティブ タイプの詳細を出力できます。

エコーは文字列に使用されます - JSON でデコードされた文字列は型のオブジェクトになりますstdClass

http://php.net/manual/en/function.var-dump.phpを参照してください。var_dump

http://php.net/manual/en/function.echo.phpを参照してください。echo

于 2012-09-15T07:17:47.127 に答える
0

変数を表示するために使用var_dumpします echo は、変数を文字列に変換しますが、それはオブジェクトです。また、入力は配列であるため、2番目のパラメーターを追加しjson_decode($data, true)て、オブジェクトの代わりに配列を取得することもできます。

__toStringを読み取ることができる文字列へのオブジェクト変換について

于 2012-09-15T07:18:47.003 に答える
0

json_decode の 2 番目のパラメーターを true として渡す必要があります。これらのパラメーターの詳細については、http://php.net/manual/en/function.json-decode.php を参照してください

したがって、次のecho json_decode($json);ように変更する必要があります。

print_r(json_decode($json, true));

echoprint_r出力は文字列ではなく配列であるため、に変更されます...

于 2012-09-15T07:22:49.103 に答える