Generator JSON ke Rust

Input JSON

Memuat editor…

Rust Dihasilkan

Configuration

Masukkan data JSON untuk menghasilkan struct Rust

Struct dengan dukungan serde dan type safety

Cara mengonversi JSON ke Rust – panduan langkah demi langkah

Gunakan generator JSON to Rust ini untuk membuat struct Rust dari sampel JSON untuk layanan dan alat CLI dengan dukungan serde.

  1. Langkah 1 – Tempelkan sampel JSON

    • Tempelkan objek atau larik JSON yang representatif ke editor kiri.
    • Sertakan objek bertumpuk, array, dan bidang nullable sehingga jenis dapat disimpulkan dengan benar.
    • Gunakan Import untuk memuat JSON dari file, URL, atau data sampel.
  2. Langkah 2 – Pilih opsi Rust struct

    • Tetapkan root Struct Name (misalnya Root).
    • Putuskan cara menangani bidang opsional (Option<T>) dan nilai yang tidak diketahui (serde_json::Value).
    • Konfirmasikan atribut penamaan dan serde sehingga kunci JSON dipetakan dengan benar.
  3. Langkah 3 – Tinjau kode yang dihasilkan

    • Periksa nama bidang, tipe, dan bagaimana array/objek dimodelkan.
    • Sesuaikan opsi seperti Root Type Name, penanganan null, dan kerangka kerja jika tersedia.
    • Jika suatu bidang disimpulkan dengan salah, sesuaikan sampel JSON Anda dan buat ulang.
  4. Langkah 4 – Gunakan struct dengan serde

    • Tambahkan serde dan serde_json ke dependensi Anda dan aktifkan makro turunan.
    • Deserialisasi JSON ke dalam struktur root Anda menggunakan serde_json::from_str.
    • Tambahkan validasi setelah deserialisasi ketika Anda membutuhkan jaminan yang lebih kuat.
  5. Langkah 5 – Salin atau unduh

    • Salin hasilnya ke proyek Anda atau unduh sebagai file.
    • Jalankan formatter/linter Anda agar sesuai dengan gaya kode Anda.
    • Tambahkan pustaka penguraian/serialisasi JSON jika bahasa Anda memerlukannya.

Kiat cepat

  • Gunakan Option<T> untuk kolom yang boleh hilang atau nol.
  • Lebih suka jenis chrono hanya jika format stempel waktu Anda stabil.
  • Pisahkan struktur DTO dari tipe domain internal untuk torsi.
Contoh keluaran (disederhanakan)
// masukan 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,
}

Alat JSON & Rust terkait

Jelajahi lebih banyak alat JSON dan skema yang berfungsi baik bersama generator JSON to Rust ini.

Pertanyaan yang Sering Diajukan

Fitur Rust apa yang didukung?

Generator membuat definisi struct Rust dengan derive macros, mendukung serde untuk serialisasi/deserialisasi, menggunakan Option untuk nilai null, dan mengikuti konvensi penamaan Rust.

Bagaimana serde ditangani?

Struct yang dihasilkan menyertakan derive Serialize dan Deserialize, serta atribut serde untuk pemetaan nama field dan penanganan field opsional.

Bagaimana nilai optional ditangani?

Nilai null di JSON dipetakan ke Option<T> di Rust. Field opsional dapat diberi atribut seperti #[serde(skip_serializing_if = "Option::is_none")].

Bagaimana koleksi ditangani?

Array JSON dipetakan ke Vec<T>, dan objek bersarang menghasilkan struct terpisah. Struktur data kompleks didukung dengan tipe generik yang tepat.

Generator JSON ke Rust | JSONSwiss