درباره این ابزار
ابزار تبدیل JSON به استراکتهای Serde راست یک نمونه JSON چسباندهشده را به استراکتهای Rust حاشیهنویسیشده برای serde تبدیل میکند، تا بتوانید همان payload را بدون نوشتن دستی هر فیلد دیسریالایز کنید. JSON را تجزیه میکند، انواع Rust را بهصورت بازگشتی استنتاج میکند و برای هر شیء یک استراکت #[derive(Serialize, Deserialize, ...)] تولید میکند: رشتهها به String، اعداد صحیح به i64 (یا u64 هنگامی که همه نمونهها نامنفی هستند)، سایر اعداد به f64، بولینها به bool، آرایهها به Vec<T>، و اشیای تودرتو به استراکتهای PascalCase خودشان که پیش از والدینشان تعریف میشوند.
همه کار بهصورت محلی در مرورگر شما با JSON.parse و JavaScript ساده رخ میدهد — هیچ چیز بارگذاری نمیشود. فیلدهای استراکت به snake_case تبدیل میشوند، و هرگاه یک کلید JSON با فیلد snake_case متفاوت باشد، ابزار #[serde(rename = "originalKey")] اضافه میکند تا استراکت همچنان به قالب سیم نگاشت شود. کلیدهایی که در برخی نمونههای خواهر-برادر غایب هستند یا بهصورت null دیده میشوند، به Option<T> با #[serde(default)] تبدیل میشوند تا دیسریالایز کردن، غیبت آنها را تحمل کند. آرایههای خالی به Vec<serde_json::Value> برمیگردند.
کلید تغییر عرض-عدد-صحیح بین اعداد صحیح ۶۴-بیتی (i64/u64، پیشفرض) و ۳۲-بیتی (i32/u32) جابهجا میشود و هنگامی که یک مقدار نمونهگیریشده از محدوده ۳۲-بیتی فراتر رود بهطور خودکار به ۶۴-بیتی ارتقا مییابد. کلید تغییر derive بین مجموعه کامل (Serialize, Deserialize, Debug, Clone) و یک Serialize, Deserialize حداقلی انتخاب میکند. فایل با use serde::{Serialize, Deserialize}; آغاز میشود. آن را کپی کنید یا یک فایل .rs دانلود کنید.