#[allow(non_snake_case)] を追加する
#[derive(Debug, Serialize, Clone, Deserialize)]
#[allow(non_snake_case)]
struct Rate {
id: String,
symbol: String,
// currencySymbol: String,
r#type: String,
rateUsd: String,
}
#[tokio::main]
async fn main() {
let mut btc_price = "".to_string();
let mut eth_price = "".to_string();
let mut sol_price = "".to_string();
let mut ada_price = "".to_string();
let mut avax_price = "".to_string();
let coins = get_price().await.unwrap();
let objs: Vec<Rate> = serde_json::from_value(coins).unwrap();
for obj in objs {
match obj.symbol {
val if val == "BTC".to_string() => btc_price = obj.rateUsd,
val if val == "ETH".to_string() => eth_price = obj.rateUsd,
val if val == "SOL".to_string() => sol_price = obj.rateUsd,
val if val == "ADA".to_string() => ada_price = obj.rateUsd,
val if val == "AVAX".to_string() => avax_price = obj.rateUsd,
_ => (),
}
}
println!("{},{},{},{},{}", btc_price,eth_price,sol_price,ada_price,avax_price);
}
なるほどー