Перейти к содержимому
ToolMug

Конвертер JSON в структуры Rust

Вставьте JSON и получите структуры Rust, готовые для serde_json. Поля используют snake_case с атрибутами rename там, где это нужно, необязательные значения и значения null становятся Option, а вложенные объекты получают собственные структуры.

Работает в браузере — введённые данные никуда не загружаются

Как пользоваться

  1. Вставьте пример JSON или нажмите «Загрузить пример».
  2. Задайте имя корневой структуры в поле «Имя корневого типа».
  3. Скопируйте или скачайте код. Добавьте в Cargo.toml serde с фичей derive и serde_json.

Описание параметров

Имя корневого типа
Имя структуры верхнего уровня. Вложенные структуры называются по своим ключам.

Примеры

{"userName": "ada", "type": "admin"} превращается в:

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Root {
    #[serde(rename = "userName")]
    pub user_name: String,
    pub r#type: String,
}

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

Какие крейты нужны?

serde с фичей derive и serde_json для разбора. Для значений, тип которых нельзя определить, используется serde_json::Value.

Как обрабатываются ключевые слова Rust?

Ключи вроде type становятся сырыми идентификаторами (r#type). serde убирает префикс r#, поэтому rename не нужен.

Какие числовые типы используются?

i64 для целых чисел и f64 для дробных.

Загружается ли мой JSON на сервер?

Нет. Типы генерируются в вашем браузере, поэтому ответы API с реальными данными остаются на вашем устройстве.

Конфиденциальность

Этот инструмент работает полностью в браузере. Ваши файлы и текст обрабатываются на вашем устройстве и никогда не загружаются на наши серверы.

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