Avatar ·

كيفية تحليل JSON من ملف في Rust باستخدام serde بشكل صحيح؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مهمة نموذجية: أحتاج إلى قراءة ملف JSON وتحويله إلى هيكل بيانات. لدي ملف `config.json` بمحتوى مشابه لهذا: ```json { "name": "MyApp", "version": 1, "debug": true, "dependencies": ["serde", "tokio"] } ``` لقد أضفت الكريتات `serde` و `serde_json` في `Cargo.toml`، وكتبت الهيكل، لكنني لا أفهم كيفية قراءة الملف وتحليله بشكل صحيح. جربت هذا: ```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); } ``` الكود يعمل، لكنني قرأت أن هذه ليست الطريقة الأكثر idiomatic