DokumenGambarMediaAlat PDF

JSON ke C# Class

Hasilkan kelas C# dari JSON, di browser Anda.

Processed in your browser

JSON ke kelas C# siap untuk .NET

Kompatibel dengan .NET modern

Kelas yang dihasilkan bekerja dengan System.Text.Json (.NET 5+) dan Newtonsoft.Json. Siap untuk ASP.NET Core dan .NET MAUI.

100% pribadi

JSON Anda diproses di browser. Tidak pernah dikirim ke server eksternal. Aman untuk API yang bersifat rahasia.

Kode C# yang idiomatis

Auto-property, PascalCase, tipe nullable yang benar. Kode mengikuti konvensi resmi Microsoft.

Instan

Pembuatan kelas dalam hitungan milidetik. Tanpa instalasi, tanpa pendaftaran, tanpa menunggu.

Tiga langkah, tanpa kerumitan

1

Tempel JSON Anda

Tempel objek JSON valid apa pun. Parser mendeteksi tipe, field opsional, dan struktur bersarang.

2

Hasilkan kelas C#

Kelas C# dihasilkan dengan auto-property, tipe nullable untuk field opsional, dan kelas bersarang.

3

Salin dan gunakan di proyek Anda

Salin kode yang dihasilkan ke Visual Studio atau VS Code. Kompatibel dengan System.Text.Json dan Newtonsoft.Json tanpa modifikasi.

Ada pertanyaan?

Auto-property dengan sintaks { get; set; } adalah fitur C# yang memungkinkan deklarasi property tanpa harus menulis backing field secara manual. Alih-alih mendeklarasikan field privat dan accessor eksplisitnya, Anda cukup menulis public string Name { get; set; } dan compiler menghasilkan backing field secara otomatis. Ini membuat kode lebih ringkas dan mudah dibaca.

Konvensi penamaan .NET yang didokumentasikan dalam panduan Microsoft menetapkan bahwa property publik harus menggunakan PascalCase seperti PropertyName, berbeda dari Java yang menggunakan camelCase. Namun, System.Text.Json dan Newtonsoft.Json dapat secara otomatis memetakan antara PascalCase di C# dan camelCase di JSON menggunakan JsonPropertyName atau konfigurasi serialisasi.

Ketika sebuah field ada di beberapa objek JSON tetapi tidak di yang lain, field tersebut disimpulkan sebagai opsional dan dihasilkan dengan tipe nullable seperti string?, int?, bool?. Ini memerlukan C# 8.0 atau lebih tinggi dengan konteks nullable yang diaktifkan. Tipe nullable mencegah NullReferenceException saat mengakses field yang mungkin tidak ada dalam respons JSON.

Objek JSON bersarang dikonversi menjadi kelas C# terpisah dalam file yang sama. Setiap kelas bersarang dihasilkan sebagai kelas publik biasa bukan sebagai kelas dalam, mengikuti konvensi C# tentang satu kelas per tanggung jawab. Referensi antarkelas dibuat melalui tipe property.

System.Text.Json disertakan dalam .NET Core 3.0 ke atas dan merupakan opsi yang direkomendasikan untuk proyek baru: lebih cepat dan tidak memerlukan dependensi eksternal. Newtonsoft.Json (Json.NET) memiliki lebih banyak fitur dan lebih fleksibel, lebih disukai saat Anda membutuhkan konverter kustom yang kompleks atau kompatibilitas dengan proyek lama. Kelas yang dihasilkan alat ini kompatibel dengan keduanya tanpa modifikasi.

Kelas C#, record types, serialisasi JSON .NET, dan pengembangan ASP.NET Core

C# adalah bahasa utama ekosistem .NET dari Microsoft, digunakan secara luas untuk web API dengan ASP.NET Core, aplikasi desktop dengan WPF/WinForms, dan aplikasi lintas platform dengan .NET MAUI. Dalam pengembangan REST API dengan ASP.NET Core, model data yang juga disebut DTO atau view model adalah kelas C# yang merepresentasikan body request dan respons JSON.

Dengan C# 9.0 dan .NET 5+, Microsoft memperkenalkan record types: kelas tidak berubah dengan kesetaraan berbasis nilai, ideal untuk DTO. Berbeda dari kelas biasa, record bersifat immutable secara default dan memerlukan lebih sedikit kode boilerplate. Namun, untuk skenario di mana objek harus dapat diubah misalnya saat dideserialisasi dari JSON, kelas dengan auto-property tetap menjadi opsi standar.

System.Text.Json yang diperkenalkan dalam .NET Core 3.0 menggantikan Newtonsoft.Json sebagai library serialisasi JSON yang direkomendasikan. Ini secara signifikan lebih cepat dan memiliki jejak memori yang lebih kecil, penting untuk API berperforma tinggi. Dalam benchmark, System.Text.Json mengungguli Newtonsoft dalam kecepatan serialisasi dan deserialisasi. Convertir.ai menghasilkan kelas yang kompatibel dengan kedua library, memproses semuanya di browser Anda tanpa mengirimkan data ke server.