使用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/>'; } } }