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.

Похожие инструменты

Встроить этот инструмент

Вставьте это на свой сайт — он останется бесплатным, и файлы по-прежнему остаются в браузере посетителя, а не у вас или у нас.