JSON dizesinden bir C # sınıfı dosyası otomatik olarak nasıl oluşturulur [kapalı]


108

Aşağıdaki JSON nesnesi göz önüne alındığında,

form = {
  "name": "",
  "address": {
    "street": "",
    "city": "",
    "province": "",
    "postalCode": "",
    "country": ""
  },
  "phoneDay": "",
  "phoneCell": "",
  "businessName": "",
  "website": "",
  "email": ""
}

aşağıdaki C # sınıfını otomatik olarak oluşturmak için bir araç nedir?

public class ContactInfo
{
    public string Name { get; set; }
    public Address Address { get; set; }
    public string PhoneDay { get; set; }
    public string PhoneCell { get; set; }
    public string BusinessName { get; set; }
    public string Website { get; set; }
    public string Email { get; set; }
}

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
    public string Province { get; set; }
    public string PostalCode { get; set; }
    public string Country { get; set; }
}

Şu sorulara zaten baktık:

JSON Şemasından C # sınıfları oluşturun Yolda kullanmak için bir yaklaşım olabilecek JSON Şemalarını soruyor.

Json nesneleri için oluşturulan C # sınıflarının avantajları ve dezavantajları



bu araç kudreti yardım .. denemek tools4geeks.com/json-to-Csharp-classes
Dheeraj Palagiri

Swagger YAML ile aynı şeyi nasıl yapacağını bilen var mı?
ryanwebjackson

Maalesef json2charp.com artık satışta olan bir alan adıdır. Bu berbat ve hızlı ipucu biraz hantal. Daha iyi bir alternatif bilen var mı?
DARKGuy

@DARKGuy jsonutils jsonutils.com
Rafael

Yanıtlar:


146

Beş seçenek:

Lehte ve aleyhte olanlar:

  • jsonclassgenerator , PascalCase'e dönüştürür ancak diğerleri bunu yapmaz.

  • app.quicktype.io , sözlükleri tanımak ve adları geçersiz c # tanımlayıcıları olan JSON özelliklerini işlemek için bazı mantığa sahiptir.


hem Web Essentials hem de json2csharp harika bir iş çıkarıyor. Jsonclassgenerator'ü denemedim, çünkü bunun için ayrı bir uygulama açmaya ihtiyaç duymak zor görünüyordu
Zoran S.27

1
Jsonclassgenerator'ü denemedim ama avantajını görebiliyorum. Örneğin, sahte bir api'niz varsa, modellerinizi yeniden oluşturmak için bir dizi uç nokta üzerinden araya girebilirsiniz. Yeni taahhütleri kontrol eden ve herhangi bir değişiklik olması durumunda modeli güncelleyen bir komut dosyası ayarlamaya kadar gidebilirsiniz. Hatalara açık olabileceğinden, her seferinde yeni json'u manuel olarak yapıştırmak istemezsiniz.
Billy Jake O'Connor

Json2csharp aracı, sınıfları özellikle sınıf adlarını biçimlendirmede VS'den daha iyi bir iş çıkarır. "_" Gibi belirsiz karakterleri kaldıracak ve daha sonra sınıf adlarını doğru bir şekilde değiştirecektir.
big_water

2
"jsonutils" oldukça havalı, "Json özellikleri" gibi öznitelikler de oluşturabilir, jsonutils.com
Dhanuka777

app.quicktype.io bu, güvenlik endişeleri nedeniyle bazı makinelerde çalışmıyor.
Sean Ch

121

Visual Studio 2012 (ASP.NET ve Web Araçları 2012.2 RC yüklü) bunu yerel olarak destekler .

Visual Studio 2013 ve sonraki sürümlerinde bu yerleşik bulunur.

Visual Studio JSON'u Classes ekran görüntüsü olarak yapıştırın (Resim izniyle: robert.muehsig )


4
Bu çözümün en iyisi olduğunu düşünüyorum çünkü harici bir programa ihtiyacınız olmayacak!
Abraão Caldas

yapıştırmadan önce burada olan console.log kopyalama JSON çözüm panoya geliştirici aracı. Umut yardımcı olur.
shaijut

10

Web Essentials'ı Visual Studio'ya yüklerseniz, Düzenle => Geçmişe özel => JSON'u sınıf olarak yapıştır'a gidebilirsiniz.

Muhtemelen en kolayı budur.

Web Temelleri: http://vswebessentials.com/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.