gpt4 book ai didi

json - WWW::Wunderground::API 无法保佑 无引用值(value)

转载 作者:行者123 更新时间:2023-12-01 11:49:06 24 4
gpt4 key购买 nike

我想使用模块 WWWW::Wunderground::API 使用 JSON 下载天气数据。

这是我的 PERL 脚本:

use WWW::Wunderground::API;

my $wun = new WWW::Wunderground::API(location=>'KIAD', api_key=>'my key');
print 'JSON source:'.$wun->json if $wun->api_type eq 'json';

它给我一个错误:

Can't bless non-reference value at /usr/local/share/perl5/Hash/AsObject.pm line 82.

我无法修复它。我一直在尝试更新 cpan 和其他模块,但没有给出任何结果。

你能告诉我如何修复它吗?

提前致谢


Carp::Always:

Can't bless non-reference value at /usr/local/share/perl5/Hash/AsObject.pm line 82 Hash::AsObject::AUTOLOAD('Hash::AsObject', undef) called at /usr/local/share/perl5/WWW/Wunderground/API.pm line 37 WWW::Wunderground::API::update('WWW::Wunderground::API=HASH(0x1e5b178)', 'KIAD') called at /home/xyz/workspace/WeatherTest/scr.pl line 4 eval {...} called at /home/xyz/workspace/WeatherTest/scr.pl line 4

最佳答案

这是由于缺乏错误检查。以下意外返回 undef:

JSON::Any->jsonToObj($json)->{current_observation}

您可能想使用以下方法查看获取的内容:

use LWP::Simple qw( get );
my $api_key = 'my key';
my $location = 'KIAD';
print get("http://api.wunderground.com/api/$api_key/conditions/q/$location.json");

也许您可以解决响应中的错误消息。例如,错误的 API key 会导致以下响应:

{
"response": {
"version": "0.1"
,"termsofService": "http://www.wunderground.com/weather/api/d/terms.html"
,"features": {
}
,
"error": {
"type": "keynotfound"
,"description": "this key does not exist"
}
}
}

关于json - WWW::Wunderground::API 无法保佑 无引用值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com