使用 PHP 从 JSON 文件获取数据

我正在尝试使用 PHP 从下面的 JSON 文件中获取数据。

可能很简单,但我不知道怎么做。我一直在纠结 file _ get _ content (“ file.json”)之后要做什么。如能提供一些帮助,我将不胜感激!

{
"daily": {
"summary": "No precipitation for the week; temperatures rising to 6° on Tuesday.",
"icon": "clear-day",
"data": [
{
"time": 1383458400,
"summary": "Mostly cloudy throughout the day.",
"icon": "partly-cloudy-day",
"sunriseTime": 1383491266,
"sunsetTime": 1383523844,
"temperatureMin": -3.46,
"temperatureMinTime": 1383544800,
"temperatureMax": -1.12,
"temperatureMaxTime": 1383458400,
}
]
}
}
325813 次浏览

使用 Json _ decode将 JSON 转换为 PHP 数组:

$json = '{"a":"b"}';
$array = json_decode($json, true);
echo $array['a']; // b

使用 file_get_contents()获取 JSON 文件的内容:

$str = file_get_contents('http://example.com/example.json/');

现在使用 json_decode()对 JSON 进行解码:

$json = json_decode($str, true); // decode the JSON into an associative array

你有一个包含所有信息的关联数组。要找出如何访问所需的值,可以执行以下操作:

echo '<pre>' . print_r($json, true) . '</pre>';

这将以一种可读的格式打印出数组的内容。注意,第二个参数被设置为 true,以便让 print_r()知道输出应该是 返回ed (而不是仅仅打印到屏幕上)。然后,访问所需的元素,如下所示:

$temperatureMin = $json['daily']['data'][0]['temperatureMin'];
$temperatureMax = $json['daily']['data'][0]['temperatureMax'];

或者按照您的意愿循环数组:

foreach ($json['daily']['data'] as $field => $value) {
// Use $field and $value here
}

演示!

Try:
$data = file_get_contents ("file.json");
$json = json_decode($data, true);
foreach ($json as $key => $value) {
if (!is_array($value)) {
echo $key . '=>' . $value . '<br/>';
} else {
foreach ($value as $key => $val) {
echo $key . '=>' . $val . '<br/>';
}
}
}