【发布时间】:2019-09-13 06:04:40
【问题描述】:
我需要在 PHP 中使用 Json 文件,这样我就可以在其主要元素的特定键中进行迭代。
我有这个示例 Json 数据:
[{"A": [
{
"name": "object 1",
"code": "x001",
"date": "2018-01-01T23:00:00-0600"
},
{
"name": "object 2",
"code": "x002",
"date": "2018-01-01T23:00:00-0600"
},
{
"name": "object 3",
"code": "x003",
"date": "2018-01-01T23:00:00-0600"
}
]},{"B": [
{
"name": "object 1",
"code": "y001"
"date": "2018-01-01T23:00:00-0600"
},
{
"name": "object 2",
"code": "y002",
"date": "2018-01-01T23:00:00-0600"
}
]}]
据我所知,我可以像这样处理 Json 文件(主键 A 和 B 中没有嵌套元素):
<?php
$url = './data.json';
$data = file_get_contents($url);
echo "<!--- File contents -->\n";
var_dump($data);
$contents = json_decode($data, true);
echo "<!--- Associative Array -->\n";
var_dump($contents);
echo "<!--- BEGIN -->";
foreach ($contents as $element) {
echo "Name: " . $element['name'] . "\n";
echo "Code: " . $element['code'] . "\n";
echo "Date: " . $element['date'] . "\n";
echo "- - - - - -\n";
}
echo "<!--- END -->";
?>
我要做的是在给定键内调用一个循环,例如,一个循环对应于 B 的所有元素:
{
"name": "object 1",
"code": "y001"
"date": "2018-01-01T23:00:00-0600"
},
{
"name": "object 2",
"code": "y002",
"date": "2018-01-01T23:00:00-0600"
}
可能会将这些元素提取到第二个关联数组或其他建议的方法...
而预期的结果需要是:
Name: object 1
Code: y001
Date: 2018-01-01T23:00:00-0600
- - - - - -
Name: object 2
Code: y002
Date: 2018-01-01T23:00:00-0600
- - - - - -
忽略 A 元素
【问题讨论】: