2016-10-26 16 views
2

PHPでキーと値を含むJSON配列をデコードしました。 JSONは(理解を容易にするために短縮)この次のようになります。PHPでStdClassオブジェクトを読み込もうとしています

[{"code":"123"},{"identification":"Some item"},{"price":"$20"}] 

私はjson_decode「それをDの後、それはこのように見えた:私は、キーと値の両方を読むことができますどのように

Array ([0] => stdClass Object ([code] => 123) [1] => stdClass Object ([identification] => Some item) [2] => stdClass Object ([price] => $20)) 

私はすでにこのような何かしようとしたSOすべての上に、すでに上の検索を試してみました:

foreach ($jarray as $key) { 
    echo 0->$key; 
} 

500(ISE)エラーがスローされます。また、500エラーをスロー

foreach ($jarray as $key => $value) { 
    echo $key; 
    echo $value; 
} 

もこの試み。私はこれを実現する方法がわからない

...

EDIT:は基本的に、私はちょうどこのように、全体をトラフ反復処理し、キーと値のすべての時間を取得したい:

code - 123 
identification - Some item 
price - $20 
... 
+0

はあなた 'json_decode()あなたはそれをエコーすることはできませんので、'、$ key'が配列/オブジェクトである ' – bassxzero

+0

を呼び出すために2番目のパラメータとして' true'を追加します。あなたがあなたのログを見ていたら、 "配列から文字列への変換"または "クラスstdClassのオブジェクトを文字列に変換できませんでした" – aynber

+0

はい、json文字列には配列 '[]'がありますオブジェクト。 '$ jarray [0]'は、 '' 123 "' .. $ jarray [0] - > code;という値を持つ 'code'のキーを1つ持っています。 // 123' – Blake

答えて

1
$json = '[{"code":"123"},{"identification":"Some item"},{"price":"$20"}]'; 
$jarray = json_decode($json, true); 

foreach ($jarray as $value) { 
    foreach ($value as $key => $val) { 
     echo $key; 
     echo $val; 
    } 
} 
+0

うわー!完璧に動作します。私を助けてくれてありがとう。 – Fusseldieb

+0

そして、私は感謝しない..... – bassxzero

+0

@bassxzeroこのコードは、 'json_decode()'のオブジェクトの代わりに配列に変換せずにうまくいきました – Blake

0
I hope so it will reduce loop process confusion and simple to do this task. 


$text = '[{"code":"123"},{"identification":"Some item"},{"price":"$20"}]'; 
$array = json_decode($text);**strong text** 
foreach($array as $value) 
{ 
    $array = (array)$value; 
    $x = each($array); 
    echo $x['key']; 
    echo "====>>>>"; 
    echo $x['value']; 
    echo "<br/>"; 
} 
+0

あなたの答えは、上記の回答よりもどのように優れていますか? – jhhoff02

関連する問題