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 回答
1

你查过说明书吗?

http://www.php.net/manual/en/function.json-decode.php

或者只是找到一些重复项?

如何将 JSON 字符串转换为数组

使用谷歌。

json_decode($json, true);

第二个参数。如果为真,则返回数组。

于 2013-08-27T11:49:38.450 回答
0

您可以在线尝试 php fiddle 的代码,对我有用

 $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 回答