JSON в Rust

Конвертируйте JSON в структуры Rust онлайн. Готовые к serde структуры с #[derive(Serialize, Deserialize)], Option<T> для nullable-полей и автоматическим camelCase-переименованием.

Здесь появится сгенерированный код…

Всё выполняется локально в вашем браузере. JSON не загружается на сервер и не сохраняется.

Что такое конвертер JSON в Rust?

Конвертер JSON в Rust превращает сырой JSON-образец в аннотированные serde структуры Rust. Вставьте полезную нагрузку API и получите типы, которые можно сразу добавить в Rust-проект рядом с serde_json. Всё работает в браузере.

Как сгенерировать структуры Rust из JSON

Вставьте JSON — структуры появятся в реальном времени. Нажмите «Копировать» и добавьте их в проект — нужные derive для serde и serde_json уже включены в код.

Сопоставление типов

Целые числа — i64, дробные — f64, массивы — Vec<T>, объекты с ключами-не-идентификаторами — HashMap<String, T>. Значения неизвестной или смешанной формы становятся serde_json::Value, поэтому в рантайме ничего не ломается.

Именование и атрибуты serde

Поля именуются в snake_case по стилю Rust. Если все ключи уже в camelCase, выводится один #[serde(rename_all = "camelCase")]; иначе отдельные поля получают #[serde(rename)]. Необязательные и null-поля используют Option<T>.

Часто задаваемые вопросы

Как конвертировать JSON в структуры Rust?+
Вставьте JSON-объект или массив в поле ввода. Готовые к serde структуры генерируются мгновенно: каждый вложенный объект становится отдельным pub struct, всё копируется одним кликом.
Как типы JSON отображаются на Rust?+
Строки становятся String, целые — i64, дробные — f64, булевы — bool, массивы — Vec<T>, объекты со строковыми ключами — HashMap<String, T>, а неизвестные или смешанные формы — serde_json::Value. Вложенные объекты становятся отдельными структурами, названными по ключу.
Что делает #[serde(rename_all = "camelCase")]?+
Она указывает serde принимать и отдавать ключи в camelCase, пока поля структуры остаются в snake_case по конвенции Rust. Когда переименование нужно лишь части полей, используется #[serde(rename = "...")], а отсутствующие или null-значения становятся Option<T>.
Мой JSON загружается на сервер?+
Нет. Вся конвертация выполняется локально в браузере — ничего не отправляется, не сохраняется и не логируется.

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

JSON в Rust — Бесплатные онлайн-json to rust, json в rust, json в структуру rust, генератор struct rust из json, json в serde, конвертировать json в rust, json в rust онлайн, serde json структура, rust json модель, json десериализация rust. Без регистрации. Работает в вашем браузере.