使用PHP从JSON文件获取数据
我想从使用PHP的以下JSON文件中获取数据。 我特别想要“温度最低”和“温度最高”。
这可能很简单,但我不知道如何做到这一点。 我卡在file_get_contents(“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, } ] } }
使用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>';
这将以良好的可读格式打印出数组的内容。 然后,你访问你想要的元素,就像这样:
$temperatureMin = $json['daily']['data'][0]['temperatureMin']; $temperatureMax = $json['daily']['data'][0]['temperatureMax'];
或者你可以通过数组循环:
foreach ($json['daily']['data'] as $field => $value) { // Use $field and $value here }
演示!
使用json_decode将您的JSON转换为PHP数组。 例:
$json = '{"a":"b"}'; $array = json_decode($json, true); echo $array['a']; // b
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/>'; } } }