Generator JSON ke Go

Input JSON

Memuat editor…

Go Dihasilkan

Configuration

Masukkan data JSON untuk menghasilkan struct Go

Struct Go dengan tag JSON dan pemetaan tipe yang tepat

Cara mengonversi JSON ke Go – panduan langkah demi langkah

Gunakan generator JSON to Go ini untuk membuat struct Go dengan tag JSON dari sampel JSON untuk API dan layanan.

  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 Go struct

    • Tetapkan root Struct Name (misalnya Root).
    • Putuskan cara menangani bidang opsional (*string, omitempty, atau tipe khusus).
    • Konfirmasikan tag dan penamaan JSON sehingga kunci dipetakan dengan benar (misalnya json:"createdAt").
  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 di Go

    • Rekatkan struct ke dalam paket Anda dan jalankan gofmt.
    • Hapus marshal dengan encoding/json ke dalam tipe root.
    • Tambahkan validasi (misalnya kolom wajib diisi) pada batas API.
  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 petunjuk untuk bidang yang dapat dibatalkan saat Anda perlu membedakan bidang yang hilang dan kosong.
  • Lebih suka time.Time hanya ketika Anda mengontrol format stempel waktu.
  • Pisahkan struktur DTO dari model domain internal bila diperlukan.
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 Go structs (simplified)
type Metadata struct {
  Plan string `json:"plan"`
}

type Root struct {
  ID        int       `json:"id"`
  Name      string    `json:"name"`
  Email     *string   `json:"email"`
  Active    bool      `json:"active"`
  Roles     []string  `json:"roles"`
  Metadata  Metadata  `json:"metadata"`
  CreatedAt string    `json:"createdAt"`
  Score     float64   `json:"score"`
  Notes     any       `json:"notes"`
}

Alat JSON & Go terkait

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

Pertanyaan yang Sering Diajukan

Fitur Go apa yang didukung?

Generator membuat definisi struct Go dengan tag JSON, mendukung embedding struct, tipe pointer untuk field opsional, dan mengikuti konvensi penamaan Go.

Bagaimana tag JSON ditangani?

Struct yang dihasilkan menyertakan tag json untuk pemetaan nama field yang tepat. Field opsional menggunakan tag omitempty agar encoding JSON fleksibel.

Bagaimana slice dan array ditangani?

Array JSON dipetakan ke slice Go ([]Type) dengan tipe elemen yang tepat. Array bersarang dan struktur kompleks didukung.

Bagaimana objek bersarang ditangani?

Objek bersarang menghasilkan definisi struct terpisah, dan relasi ditangani melalui field struct yang disematkan atau direferensikan.

Generator JSON ke Go | JSONSwiss