这是我的带有json格式字符串的php代码:
<?php
$string='{"items": [
{
"address":"W 7th Ave"
},
{
"address":"W 8th St"
}
]}';
$json = json_decode($string, true);
foreach ($json as $key => $value){
echo "$key: $value\n";
};
?>
我想学习如何将json字符串解析/输出为可以在html中显示或放入数据库的内容..但是我被困在一个很简单的问题上,但是我花了大部分时间试图弄清楚。
我想了解的是为什么以上代码的结果为我提供以下结果:
"items: Array"
而不是我想要/期望得到的:
"items: W 7th Ave"
"items: W 8th St"
我想念什么?数组中的“项目”下的“地址”不是下一个“级别”吗?
最佳答案
$string = file_get_contents('./string.json');
$json = json_decode($string);
如果您想拥有
items: <address>
:foreach ($json['items'] as $address)
{
echo "items:". $address['address'] ."\n";
};
无论如何,如果您不确定数组的构建方式,则可以通过以下方式进行打印:
print_r($json);
它将打印:
Array
(
[items] => Array
(
[0] => Array
(
[address] => W 7th Ave
)
[1] => Array
(
[address] => W 8th St
)
)
)
现在,您发现
$json
仅包含两个数组的数组(items
),然后,如果对其进行循环,您将获得在示例中打印的该数组。如上所述,您需要通过循环
items
数组中的元素并打印其address
元素来更进一步。这是完整的脚本:http://pastie.org/2275879