Ne işe yarar?
Bir JSON belgesi (API yanıtı, yapılandırma dosyası, webhook yükü) yapıştırın ve doğrudan bir .NET projesine yapıştırabileceğiniz C# türlerini alın. Çıktı siz yazarken güncellenir.
Neden “Paste JSON as Classes"tan daha iyi?
- Yalnızca ilk öğeye değil, dizideki her öğeye bakar. Bazı öğelerde eksik olan veya bazılarında
nullolan bir özellik nullable olur (int?,string?); bir öğede1, diğerinde2.5olan bir sayıdoubleolur. - Gerçek tür çıkarımı:
intya da değer sığmıyorsalong; kesirli sayılar içindoubleveyadecimal;bool;Guid; ofset veyaZiçeren zaman damgaları içinDateTimeOffset, ofsetsiz olanlar içinDateTime, düz tarihler içinDateOnly. Karışık değerlerJsonElementolur. - Aynı yapılar bir kez oluşturulur. Aynı özelliklere sahip
shippingAddressvebillingAddresstek birAddresstürünü paylaşır. - Kimliklerle anahtarlanmış nesneler (
{"1": {...}, "2": {...}})Dictionary<string, T>olur. - Her zaman geçerli tanımlayıcılar:
user_id,UserIdolur; rakamla başlayan adlara_öneki eklenir, C# anahtar sözcükleri@ile kaçışlanır, sınıf adıyla veya diğer özelliklerle çakışan adlar yeniden adlandırılır. - System.Text.Json öznitelikleri yalnızca gerektiğinde eklenir. “Web varsayılanları” ASP.NET Core /
JsonSerializerOptions.Web(camelCase) varsayar; “birebir farklıysa” seçeneği büyük/küçük harfe duyarlı varsayılanJsonSerializer’ı da kapsar. - Modern C#:
initiçeren record’lar veyasetiçeren sınıflar, güvenli başlatıcılarla nullable başvuru türleri, isteğe bağlırequiredüyeler, dosya kapsamlı ad alanı.
Nasıl kullanılır?
JSON yapıştırın veya bir .json dosyası bırakın, kök tür adını ve ad alanını belirleyin, ardından .cs dosyasını kopyalayın ya da indirin. Durum satırı, kullanmanız gereken JsonSerializer.Deserialize<T> çağrısını gösterir.
Gizlilik
Dönüştürme tamamen tarayıcınızda çalışır. JSON’unuz hiçbir zaman yüklenmez; son girdi yerel depolamada saklanır.