gpt4 book ai didi

api - 我正在尝试通过 Rust 中的 OpenWeather API 获取数据,但我想我正面临一些关于解析的问题

转载 作者:行者123 更新时间:2023-11-29 08:30:37 25 4
gpt4 key购买 nike

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
);
}

error : thread 'main' panicked at 'called Result::unwrap() on an Err value: ErrorReport { cod: 0, message: "Got unexpected response: \"{\\"coord\\":{\\"lon\\":67.03,\\"lat\\":24.87},\\"weather\\":[{\\"id\\":803,\\"main\\":\\"Clouds\\",\\"description\\":\\"broken clouds\\",\\"icon\\":\\"04n\\"}],\\"base\\":\\"stations\\",\\"main\\":{\\"temp\\":294.15,\\"pressure\\":1018,\\"humidity\\":60,\\"temp_min\\":294.15,\\"temp_max\\":294.15},\\"visibility\\":6000,\\"wind\\":{\\"speed\\":5.1,\\"deg\\":30},\\"clouds\\":{\\"all\\":70},\\"dt\\":1574012543,\\"sys\\":{\\"type\\":1,\\"id\\":7576,\\"country\\":\\"PK\\",\\"sunrise\\":1573955364,\\"sunset\\":1573994659},\\"timezone\\":18000,\\"id\\":1174872,\\"name\\":\\"Karachi\\",\\"cod\\":200}\"" }

最佳答案

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

但看起来有一个 open 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();

关于api - 我正在尝试通过 Rust 中的 OpenWeather API 获取数据,但我想我正面临一些关于解析的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58903713/

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