Ввод JSON
Сгенерированный Rust
Введите JSON, чтобы сгенерировать Rust‑структуры
Безопасные структуры с ownership
Генерируйте Rust‑структуры из JSON‑структур данных
Введите JSON, чтобы сгенерировать Rust‑структуры
Безопасные структуры с ownership
Используйте этот генератор JSON to Rust для создания структур Rust из образцов JSON для сервисов и инструментов CLI с поддержкой serde.
Шаг 1. Вставьте образец JSON.
Import для загрузки JSON из файла, URL-адреса или образца данных.Шаг 2. Выберите параметры структуры Rust.
Struct Name (например, Root).Option<T>) и неизвестные значения (serde_json::Value).Шаг 3. Просмотрите сгенерированный код.
Root Type Name, обработку значений NULL и платформы, если они доступны.Шаг 4 – Используйте структуры с serde
serde и serde_json в свои зависимости и включите производные макросы.serde_json::from_str.Шаг 5 – Скопируйте или загрузите
Советы
Option<T> для полей, которые могут отсутствовать или иметь значение NULL.chrono только в том случае, если ваш формат метки времени стабилен.// Ввод JSON
{
"id": 123,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"roles": ["admin", "editor"],
"metadata": { "plan": "pro" },
"createdAt": "2024-03-01T10:15:00Z",
"score": 99.5,
"notes": null
}
// Generated Rust structs (simplified)
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Metadata {
pub plan: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Root {
pub id: i64,
pub name: String,
pub email: Option<String>,
pub active: bool,
pub roles: Vec<String>,
pub metadata: Metadata,
pub created_at: String,
pub score: f64,
pub notes: serde_json::Value,
}Узнайте больше об инструментах JSON и схемы, которые отлично работают вместе с генератором JSON to Rust.
Преобразуйте существующие структуры Rust в примеры JSON и схему JSON для документации и проверки.
Создайте схему JSON на основе образцов JSON для проверки полезных данных и контрактов.
Отформатируйте и проверьте JSON перед созданием структур, чтобы избежать проблем во время выполнения.
Создавайте структуры Go, когда вы также поддерживаете сервисы Go.
Генератор создаёт Rust‑struct с корректным ownership, поддерживает Serde и следует Rust‑конвенциям с гарантиями безопасности памяти.
Да! Выберите «Serde», чтобы получить структуры с #[derive(Serialize, Deserialize)] для автоматической JSON‑сериализации через serde.
По умолчанию используется Option<T> для nullable‑полей, что обеспечивает явную обработку null и безопасность по модели ownership.
Сгенерированные структуры используют owned‑типы (String вместо &str), чтобы избежать сложности lifetimes и упростить использование при сохранении гарантий безопасности Rust.