JSON в структуру Rust
Преобразуйте JSON-документ в структуры Rust, готовые к использованию с serde.
JSON в структуру Rust
Вставьте JSON-объект или массив, и этот инструмент сгенерирует соответствующие структуры Rust, готовые к использованию в проекте, который применяет serde для сериализации. Это экономит время на ручное написание типов полей и атрибутов derive каждый раз, когда меняется структура ответа API или файла конфигурации.
Опции контролируют внешний вид сгенерированного кода. Выберите, какие трейты производить — Debug, Clone, Serialize, Deserialize, PartialEq — и добавлять ли #[serde(rename_all = "camelCase")] для того, чтобы идиоматические snake_case-поля Rust корректно десериализовали camelCase-ключи JSON. Null-значения могут автоматически преобразоваться в Option<T>, а для целых чисел вы можете выбрать i32, i64 или u64, а для текста — String или заимствованный &str (с временем жизни). Вложенные объекты могут генерироваться как отдельные структуры верхнего уровня или быть обёрнуты в свой pub mod, а поля могут быть открытыми или приватными.
Массивы объектов объединяются в одну структуру: поле, присутствующее только на некоторых элементах, автоматически становится Option<T>, поэтому структура, сгенерированная из нескольких примеров записей, всё равно совпадает с полным набором данных. Имена полей преобразуются в snake_case, ключевые слова Rust превращаются в raw identifiers, такие как r#type, а имя, которое нельзя чисто представить, сохраняет исходный ключ через атрибут #[serde(rename = "...")] вместо этого.
Всё выполняется локально в вашем браузере — ваш JSON никогда не загружается никуда, поэтому безопасно вставлять реальные API-запросы или данные конфигурации. Скопируйте сгенерированный код, загрузите его как файл .txt или отправьте вывод обратно во входные данные для дальнейшей доработки.