我正在尝试通过 Rust 中的 OpenWeather API 获取数据,但我想我在解析方面遇到了一些问题

阿里布希德
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' 在 ' call Result::unwrap()on an Errvalue 时惊慌失措:ErrorReport { cod: 0, message: "Got unexpected response: \"{\\"coord\\":{\\"lon\\":67.03,\ \"lat\\":24.87},\\"weather\\":[{\\"id\\":803,\\"main\\":\\"Clouds\\",\\"description \\":\\"碎云\\",\\"icon\\":\\"04n\\"}],\\"base\\":\\"车站\\",\\" main\\":{\\"temp\\":294.15,\\"压力\\":1018,\\"湿度\\":60,\\"temp_min\\":294.15,\\"temp_max \\":294.15},\\"能见度\\":6000,\\"wind\\":{\\"speed\\":5.1,\\"deg\\":30},\\"云\\":{\\"all\\":70},\\"dt\\":1574012543,\\"sys\\":{\\"type\\":1,\\"id\\":7576,\\"country\\":\\"PK\\",\\"sunrise\\":1573955364,\\"日落\\":1573994659},\\"timezone\\":18000,\\"id\\":1174872,\\"name\\":\\"Karachi\\",\\"cod\\ ":200}\"" }

大昌

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

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

  • 将您的Cargo.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();
    
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我正在尝试在R中运行XGBoost,但遇到了一些问题

我正在尝试使方法类似于ArrayList类中的lastIndexOf(),但是我在查找元素的最后一个索引时遇到了一些问题

OpenWeather API 中的无

我在 freeBASIC 中创建类类型时遇到了一些问题

我在JavaScript中的closePath()遇到了一些问题

在我的 javascript 计算中遇到了一些问题

我在 JSON 数据中遇到了一些问题,我只能在 Andrew 和 Karthick 中获得名称

我想将图像上传到laravel中的公共文件夹和数据库中,但是我遇到了一些问题

在复选框数组中推送数组,但是我在Angular 2中遇到了一些问题

我在表单提交方面遇到了一些问题

我正在尝试在 python 中使用替换功能,但遇到了一些问题

从 openweather api 中提取数据

我的JavaScript遇到了一些问题

你好 我在使用JavaScript时遇到了一些问题。如何在WhatsApp API中将var ** mobile **用作电话号码

我正在尝试遍历一系列熊猫字典(通过 API 获得),我想将它们拆分为数据框中的绝望系列

Rust不会让我从匹配中返回某个类型的实例,一直在想我正在尝试返回一个值

我的范围标识从标识列中检索ID时遇到一些问题

在使用 php 更新数据库时,我遇到了一些问题

我在python中的xpath有一些问题

我正在OCaml中进行区分功能,但遇到了一些问题

无法添加 URL 以使用 openweather 从 api 调用中获取数据

我在 Java 作业中遇到了一些猜谜游戏的问题

如何在数据表中绑定Openweather地图API数据?

我正在尝试在Ruby上执行股票选择器方法,但是我的代码中存在一些问题

如何使用 Flutter 中 OpenWeather API 的时区属性获取任何城市/国家的当前时间?

我的编码不是很好,我的《 Hangman Game》遇到了一些问题

我正在尝试通过ModBus RTU协议从OVEN计时器获取数据,但是却在响应中收到了垃圾

我正在尝试通过resttemplate来访问Restful API,但是我正在获取请求处理失败

我想制作一个平均值计算器,但我遇到了一些问题