RustでJSONを読み込みVecにデシリアライズする
RustでJSONを読み込みVecにデシリアライズする方法です。 JSONを読み込んでVecに変換しています。
Cargo.toml
[package]
name = "swiswiswift"
version = "0.1.0"
edition = "2018"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
main.rs
use serde::{Serialize, Deserialize};
use std::fs;
#[derive(Serialize, Deserialize, Debug)]
struct Pokemon {
id: i32,
name: String,
}
fn main() {
let content = fs::read_to_string("resource/pokemons.json")
.expect("Failed to load JSON");
let deserialized: Vec<Pokemon> = serde_json::from_str(&content).unwrap();
println!("deserialized = {:?}", deserialized);
}
pokemons.json
[
{
"id": 133,
"name": "Eevee"
},
{
"id": 143,
"name": "Snorlax"
}
]
