Avatar ·

Cómo parsear correctamente JSON desde un archivo en Rust con serde

¡Hola a todos! Acabo de empezar a aprender Rust y me encontré con una tarea típica: necesito leer un archivo JSON y convertirlo en una estructura de datos. Tengo un archivo `config.json` más o menos con este contenido: ```json { "name": "MyApp", "version": 1, "debug": true, "dependencies": ["serde", "tokio"] } ``` He agregado los crates `serde` y `serde_json` en `Cargo.toml`, escribí la estructura, pero no puedo entender cómo leer correctamente el archivo y parsearlo. Probé así: ```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); } ``` El código funciona, pero he leído que no es lo más idiomático.