Avatar ·

Comment parser correctement un JSON à partir d'un fichier en Rust avec serde?

Bonjour à tous ! Je viens de commencer à apprendre Rust et j'ai rencontré une tâche typique : lire un fichier JSON et le transformer en structure de données. J'ai un fichier `config.json` avec un contenu approximatif : ```json { "name": "MyApp", "version": 1, "debug": true, "dependencies": ["serde", "tokio"] } ``` J'ai ajouté les crates `serde` et `serde_json` dans `Cargo.toml`, j'ai écrit la structure, mais je ne comprends pas comment lire correctement le fichier et le parser. J'ai essayé ceci : ```rust use serde::Deserialize; use std::fs::File; use std::io::Read; #[derive(Deserialize)] struct Config { name: String, version: u32, debug: bool, dependencies: Vec, } fn main() { let mut file = File::open("config.json").unwrap(); let mut data = String::new(); file.read_to_string(&mut data).unwrap(); let config: Config = serde_json::from_str(&data).unwrap(); println!("{}", config.name); } ``` Le code fonctionne, mais j'ai lu que ce n'est pas la manière la plus idiomatique.