当前位置: 首页 > 知识库问答 >
问题:

我试图通过Rust中的OpenWeather API获取数据,但我想我在解析方面遇到了一些困难

双俊人
2023-03-14
extern crate openweather;
use openweather::LocationSpecifier;
static API_KEY: &str = "e85e0a3142231dab28a2611888e48f22";

fn main() {
    let loc = LocationSpecifier::Coordinates {
        lat: 24.87,
        lon: 67.03,
    };
    let weather = openweather::get_current_weather(loc, API_KEY).unwrap();

    print!(
        "Right now in Minneapolis, MN it is {}K",
        weather.main.humidity
    );
}

错误:线程“main”在调用<code>Result::unwrap()

共有1个答案

苏健柏
2023-03-14

问题是由于反序列化结构与OpenWeather的JSON不匹配而导致的JSON解析错误,也许API最近添加了这个?在您的示例中,OpenWeatherCurrent 结构缺少时区

但看起来有一个开放的PR可以解决这个问题,您可以通过执行以下操作来测试它:

>

  • 更改您的货物。toml依赖于openweather={git=”https://github.com/caemor/openweather“}
  • PR作者还更新了get_current_weather签名,因此您需要将第2行、第10行更改为以下内容:

    use openweather::{LocationSpecifier, Settings};
    
    let weather = openweather::get_current_weather(&loc, API_KEY, &Settings::default()).unwrap();
    
    

  •  类似资料:
    • unsatisfiedDependencyException:创建文件[D:\priya\cre-audit-service\target\类\com\ads\cre\api\controller\fieldValuesController.class]中定义的名为“field valuesController”的bean时出错:通过构造函数参数1表示的不满足的依赖项;嵌套异常为org.sprin

    • 目前,我只想显示GIF的第一帧,即未放大的Mandelbrot集。但是,当我尝试迭代所有像素值时,迭代停止在和 我猜这是因为当应该为零时发生了一些溢出错误,但我不知道如何解决这个问题。 这是命令行的最后一个屏幕截图,在这里我打印了所有复数的实部和虚部,以及该数字收敛所需的迭代次数(如果输出为255,则不需要)。

    • 我正在尝试使用Selenium获取页面源代码,代码是通用SOP。这对百度来说是可行的。com和示例。通用域名格式。但说到我真正需要的URL,我得到了一个空页面。源代码只显示空标记,如下代码所示。我遗漏了什么吗? 我试图增加更多的选项,但似乎没有帮助 网络驱动程序; 我期望URL的解析页面源,这样我就可以得到我需要的信息。但我被困在这里了。

    • 我在尝试编写一个返回Future[Map[Int,Long]]的方法时遇到了问题。 我正处于找回未来的反复过程中..]].所以我尝试了平面地图身份。 请参阅下面的代码和我现在收到的错误消息。我不确定目前这里发生了什么。 我收到方法“calculate”的错误消息: 现在,如果删除注释的平面图身份,我得到这个错误: 我很困惑,我怎样才能让它返回Future[Map[Int,Long]]。 更重要的是

    • 我试图在webGL中构建我的游戏,但我得到了这个错误 找不到文件“C:\users----\OneDrive\Documents\Endless\Runner\Temp\StagingArea\Data\Native\Build.bc” 我对unity和stackoverflow很陌生,所以不要对我太苛刻。

    • 当我通过数据库中的datagrid插入数据时,数据正在插入,但数据库中也会出现一个额外的空行 我的代码:- 私有子按钮2_Click(发件人作为对象,e作为事件参数)处理按钮2.单击