我试图使用简单的天气API,但无论如何,它不会将它识别为对象,无论我做什么。这是我的代码:Json_decode引发“尝试获取非对象的属性”
$url = "https://www.amdoren.com/api/weather.php?api_key=za8LEJ8F9mcHK8SvLxdM98rM9mNFjW&lat=40.7127837&lon=-74.0059413";
$curl = curl_init($url);
$curl_response = curl_exec($curl);
$jsonobj = json_decode($curl_response);
$msg = "Temperature in ".$city."will be: ". $jsonobj->forecast->max_c;
,这是我想用$jsonojb->forecast->max_c
到达数据:
{
"error" : 0,
"error_message" : "-",
"forecast":[
{"date":"2016-12-02",
"avg_c":8,
"min_c":5,
"max_c":11,
"avg_f":46,
"min_f":41,
"max_f":52,
(...)
,但它不工作。我做错了什么人?
你的代码是解决了在这个意义上,它不会引发错误问题的唯一,但它仍然没有显示任何东西,这不是关于城市的名字,因为我已经付了护理但忘了提及(这是一个组合框,你只能选择像三个城市一样)。所以它就像纽约的温度将会是: - 就是这样。 – ProgrammingNewbie
@ProgrammingNewbie当我尝试使用您的API密钥时,它给我一个超出限制的错误。这可能是问题所在。尝试做print_r($ response)并查看是否有错误。 – dontanios
@ProgrammingNewbie只是再次尝试,您的API密钥是问题。看看这里:http://d.tanios.ca/sh/(相同的代码),它使用你的密钥时会给出0。 – dontanios