use std::collections::HashMap; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let resp = reqwest::get("https://httpbin.org/ip") .await? .json::<HashMap<String, String>>() .await?; println!("{:#?}", resp); Ok(()) }
但是,如果我不知道请求端点上接收到的结构是什么样的呢?
你可以用 serde_json::Value .
#[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let resp = reqwest::get("https://httpbin.org/ip") .await? .json::<serde_json::Value>() .await?; println!("{:#?}", resp); Ok(()) }
你必须加上 serde_json 给你的货物.toml文件。
serde_json
[dependencies] ... serde_json = "1"