4

デコードする必要がある JSON の製品のリストがあります。

"[{"productId":"epIJp9","name":"Product A","amount":"5","identifier":"242"},{"productId":"a93fHL","name":"Product B","amount":"2","identifier":"985"}]"

を使用して PHP でデコードした後json_decode()、出力がどのような構造になっているのかわかりません。配列だと思っていたのですが、尋ねるとcount()「0」と表示されます。このデータをループして、リスト上の各製品の属性を取得するにはどうすればよいですか。

ありがとう!

4

5 に答える 5

11

json を配列に変換するには

 json_decode($json, true);
于 2013-08-27T11:47:33.230 に答える
9

json_decode() を使用できます。これは、json を配列に変換します。

例えば、

$json_array = json_decode($your_json_data); // convert to object array
$json_array = json_decode($your_json_data, true); // convert to array

次に、次のように配列変数をループできます。

foreach($json_array as $json){
   echo $json['key']; // you can access your key value like this if result is array
   echo $json->key; // you can access your key value like this if result is object
}
于 2013-08-27T11:51:37.077 に答える
7

次のコードのようにしてみてください:

$json_string = '[{"productId":"epIJp9","name":"Product A","amount":"5","identifier":"242"},{"productId":"a93fHL","name":"Product B","amount":"2","identifier":"985"}]';

$array = json_decode($json_string);

foreach ($array as $value)
{
   echo $value->productId; // epIJp9
   echo $value->name; // Product A
}

カウントを取得

echo count($array); // 2
于 2013-08-27T11:47:22.227 に答える
0

php fiddle online でコードを試すことができます。私にとってはうまくいきます

 $list = '[{"productId":"epIJp9","name":"Product A","amount":"5","identifier":"242"},{"productId":"a93fHL","name":"Product B","amount":"2","identifier":"985"}]';

$decoded_list = json_decode($list); 

echo count($decoded_list);
print_r($decoded_list);
于 2013-08-27T12:01:04.590 に答える