问题描述
我不知道如何将requests::Response
转换为Serde JSON对象。我尝试过:
extern crate requests;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
fn get_json() -> requests::Response {
let response = requests::get("Fancy URL").unwrap();
return response;
}
#[derive(Serialize,Deserialize)]
struct MyStruct {
iso: String,number: String,name: String,}
fn main() {
let data = get_json();
let res = serde_json::from_reader(data);
if res.is_ok() {
let p: MyStruct = res.unwrap();
println!("The name is {}",p.name);
} else {
println!("Could not parse JSON!")
}
}
解决方法
您可以找到an example。这样的事情可能会起作用:
let p: MyStruct = serde_json::from_str(data).unwrap();