我是 rust 新手,正在开发与 Binance API 交互的工具。API 返回如下响应:
{
"lastUpdateId": 1027024,
"bids": [
[
"4.00000000", // PRICE
"431.00000000" // QTY
]
],
"asks": [
[
"4.00000200",
"12.00000000"
]
]
}
Bids 和 Asks 是一组数组。我必须struct
为 API 响应声明。
我目前有
use reqwest::Error;
use serde::Deserialize;
#[derive(Deserialize, Debug)]
struct Depth {
lastUpdateId: u32,
bids: Vec<u64>,
asks: Vec<u64>,
}
#[tokio::main]
pub async fn order_book() -> Result<(), Error> {
let request_url = format!("https://api.binance.us/api/v3/depth?symbol=BTCUSD");
println!("{}", request_url);
let response = reqwest::get(&request_url).await?;
println!("Status: {}", response.status());
let depth: Depth = response.json().await?;
println!("{:?}", depth);
Ok(())
}
我相信我正在声明出价类型并错误地询问,但我无法确定如何声明数组数组。我得到一个 200 的 response.status,但我无法打印出response.json
.
谢谢你!