Generator JSON ke C

Input JSON

Memuat editor…

C Dihasilkan

Configuration

Masukkan data JSON untuk menghasilkan struct C

Struct aman memori dengan fungsi manajemen

Cara mengonversi JSON ke C – panduan langkah demi langkah

Gunakan generator JSON ke C ini untuk membuat struct C dari sampel JSON untuk sistem tertanam, pustaka C, dan integrasi tingkat rendah.

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

    • Tetapkan Struct Name yang jelas untuk model root Anda (misalnya Root).
    • Pilih preset perpustakaan JSON (seperti json-c) jika Anda ingin bantuan penguraian.
    • Tinjau bagaimana array dan objek bersarang direpresentasikan (seringkali pointer yang memerlukan penanganan manual).
  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 – Integrasikan struct dalam proyek C Anda

    • Tambahkan file .h/.c yang dihasilkan ke build Anda dan sertakan header jika diperlukan.
    • Menghubungkan penguraian (jika dibuat) atau petakan nilai JSON ke dalam struct Anda secara manual.
    • Perhatikan alokasi dan pembersihan string, array, dan struct penempatannya.
  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

  • Lebih suka buffer berukuran tetap hanya ketika Anda mengontrol ukuran input; jika tidak, gunakan dinamislokasi.
  • Jaga agar aturan kepemilikan tetap eksplisit (siapa yang menampung dan siapa yang membebastugaskan).
  • Validasi JSON sebelum penguraian untuk menghindari alokasi parsial pada input yang tidak valid.
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 C structs (simplified)
typedef struct Metadata {
  char* plan;
} Metadata;

typedef struct Root {
  int id;
  char* name;
  char* email; // nullable in JSON
  int active;
  char** roles;
  int roles_count;
  Metadata metadata;
  char* createdAt;
  double score;
  void* notes;
} Root;

Alat JSON & C terkait

Jelajahi lebih banyak alat JSON dan skema yang berfungsi baik bersama generator JSON ke C ini.

Pertanyaan yang Sering Diajukan

Fitur C apa yang didukung?

Generator membuat definisi struct C standar dengan fungsi manajemen memori (create dan free), mendukung pemetaan tipe data dasar, dan mengikuti konvensi penamaan C.

Bagaimana manajemen memori ditangani?

Kode yang dihasilkan menyertakan fungsi create_ dan free_ untuk alokasi dan dealokasi memori yang aman. Field string memerlukan alokasi memori manual.

Apakah mendukung pustaka JSON-C?

Pilih framework 'JSON-C' untuk menghasilkan kode yang kompatibel dengan pustaka json-c, termasuk referensi header yang sesuai.

Bagaimana tipe data kompleks ditangani?

Array dipetakan ke pointer void**, objek bersarang ke pointer void*. Casting tipe dan manajemen memori diperlukan sesuai kebutuhan nyata.

Generator JSON ke C | JSONSwiss