Online Tool Store Online Tool Store

Генератор структур Rust

Генератор структур Rust дає відправну точку за одним зразком; яке поле насправді необов'язкове, показує власна схема API.

🔒 Цей інструмент працює повністю у вашому браузері. Ваші файли ніколи не завантажуються на сервер.

Розробник

Генератор структур Rust

Готово

Попередній перегляд інтерфейсу — без завантаження та зовнішніх сервісів.

Структури Rust

Три вкладені структури з #[derive(Serialize, Deserialize, Debug)], user_id перейменовано з userId, а email типізовано як Option<String>, бо у зразку було null.

Як працює генератор структур Rust

  1. Вставте показовий зразок JSON — такий, де заповнене кожне необов'язкове поле, а не лише мінімальний випадок.
  2. Оберіть derive-макроси та чи потрібно перейменовувати поля в snake_case за допомогою атрибутів serde rename.
  3. Скопіюйте структури у свій crate і звірте типи Option з тим, що насправді гарантує API.

FAQ

Чому деякі поля — Option?

Тому що у зразку там було null, або поле було відсутнє. Поле, яке завжди присутнє у вашому зразку, буде згенероване як звичайний тип, що спричинить паніку при десеріалізації, щойно API одного разу його пропустить.

Чи дає один зразок JSON правильні типи?

Він дає типи, узгоджені з цим зразком. Випадково малі цілі числа стають i64, а поле, яке в одній відповіді рядок, а в іншій число, не буде виявлено. Звіряйтеся зі схемою API.

А як щодо перейменування в snake_case?

Угода Rust вимагає полів snake_case, тоді як більшість JSON API використовують camelCase. Генерування атрибутів serde rename зберігає ідіоматичність з обох боків без ручного шару відповідності.

Порівняння

ФункціяOnline Tool StoreCLI-скриптПлагін для IDE
Включені derive serde
Option для nullable
Нічого не завантажується Локально
Не потребує встановлення

Генератор структур Rust дає відправну точку за одним зразком; яке поле насправді необов'язкове, показує власна схема API.

Схожі інструменти

Вбудувати цей інструмент

Вставте це на свій сайт — він залишиться безкоштовним, і кожен файл усе одно залишається в браузері відвідувача, а не у вас чи в нас.