JSON स्ट्रिंग से एक C # क्लास फ़ाइल को ऑटो-जनरेट कैसे करें [बंद]


108

निम्नलिखित JSON ऑब्जेक्ट को देखते हुए,

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

निम्नलिखित C # वर्ग को स्वतः उत्पन्न करने के लिए एक उपकरण क्या है?

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; }
}

हम पहले से ही इन सवालों को देख चुके हैं:

JSON स्कीमा से C # कक्षाएं उत्पन्न करें JSON स्कीमा के बारे में पूछ रहा है जो सड़क का उपयोग करने के लिए एक दृष्टिकोण हो सकता है।

Json वस्तुओं के लिए उत्पन्न सी # कक्षाओं के लाभ और कमियां



इस उपकरण की कोशिश करो मदद कर सकते हैं .. tools4geeks.com/json-to-Csharp-classes
धीरज पलागिरी

किसी को पता है कि स्वैगर YAML के साथ भी यही काम करना है?
रैनबेजाकसन

दुर्भाग्य से json2charp.com अब बिक्री पर एक डोमेन है। यह बेकार है, और quicktipe एक थोड़े clunky है। क्या कोई बेहतर विकल्प जानता है?
DARKGuy

@DARKGuy jsonutils jsonutils.com
राफेल

जवाबों:


146

पाँच विकल्प:

  • कुछ भी स्थापित किए बिना मुक्त jsonutils वेब टूल का उपयोग करें ।

  • यदि आपके पास विज़ुअल स्टूडियो में वेब आवश्यक हैं , तो संपादन> पेस्ट विशेष> JSON को कक्षा के रूप में पेस्ट करें।

  • मुक्त jsonclassgenerator .exe का उपयोग करें

  • वेब टूल app.quicktype.io को कुछ भी इंस्टॉल करने की आवश्यकता नहीं है।

  • वेब टूल json2csharp को भी कुछ भी इंस्टॉल करने की आवश्यकता नहीं है।

फायदा और नुकसान:

  • jsonclassgenerator PascalCase में कनवर्ट करता है, लेकिन अन्य नहीं करते हैं।

  • app.quicktype.io में JSON गुणों को पहचानने और संभालने के लिए कुछ तर्क हैं जिनके नाम अमान्य c # पहचानकर्ता हैं।


Web Essentials और json2csharp दोनों ही बहुत अच्छा काम कर रहे हैं। Jsonclassgenerator की कोशिश नहीं की, क्योंकि यह उसके लिए एक अलग ऐप खोलने के लिए एक परेशानी की तरह लग रहा था
Zoran P.

1
मैंने jsonclassgenerator की कोशिश नहीं की है लेकिन मैं इसका फायदा देख सकता हूं। उदाहरण के लिए यदि आपके पास एक मॉक एपी था, तो आप अपने मॉडल को पुनर्जीवित करने के लिए समापन बिंदुओं के एक सेट पर हस्तक्षेप कर सकते हैं। आप एक स्क्रिप्ट सेट करने में उतने ही आगे बढ़ सकते हैं जो नए कमिट्स के लिए जाँच करता है और यदि कुछ भी बदला है तो मॉडल को अपडेट करता है। आप मैन्युअल रूप से हर बार नए जूस को पेस्ट नहीं करना चाहेंगे क्योंकि इससे गलतियों का खतरा हो सकता है।
बिली जेक ओ'कॉनर

Json2csharp टूल कक्षाओं को विशेष रूप से वर्ग नामों को प्रारूपित करने की तुलना में एक अच्छा काम करता है। यह "_" जैसे अस्पष्ट वर्णों को हटा देगा और इसके बाद ऊंट के मामले को सही ढंग से व्यवस्थित करेगा।
बिग_ वाटर

2
"jsonutils" बहुत अच्छा है, यह "Json गुण" जैसे गुण पैदा कर सकता है, jsonutils.com
धनुका777

app.quicktype.io सुरक्षा चिंताओं के कारण यह कुछ मशीनों पर काम नहीं करता है।
सीन च

121

Visual Studio 2012 (ASP.NET और वेब उपकरण 2012.2 RC स्थापित) के साथ यह मूल रूप से समर्थन करता है

विजुअल स्टूडियो 2013 के बाद से इसमें बिल्ट-इन है।

विजुअल स्टूडियो ने कक्षाएं स्क्रीनशॉट के रूप में JSON पेस्ट किया (छवि सौजन्य: robert.muehsig )


4
मुझे लगता है कि यह समाधान सबसे अच्छा है, क्योंकि आपको बाहरी कार्यक्रम की आवश्यकता नहीं होगी!
अब्राहम कालदास

यहाँ चिपकाने से पहले JSON को कॉपी करने का समाधान है इसे डेवलपर टूल में क्लिपबोर्ड पर कॉपी करें। आशा मदद करती है।
शैजुत

10

यदि आप वेब एसेंशियल को विजुअल स्टूडियो में स्थापित करते हैं तो आप एडिट => पास्ट स्पेशल => जैसन को क्लास के रूप में पेस्ट कर सकते हैं।

यह शायद सबसे आसान है।

वेब अनिवार्य: http://vswebessentials.com/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.