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.