2012-07-05 22 views
37

संभव डुप्लिकेट:
Turn C# object into a JSON string in .NET 4Convert वस्तु

जावा में, मैं JSON स्ट्रिंग को जावा वस्तु कन्वर्ट करने के लिए एक कोड है। सी # में समान कैसे करें? मुझे किस JSON लाइब्रेरी का उपयोग करना चाहिए?

धन्यवाद।

जावा कोड

import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 

public class ReturnData { 
    int total; 

    List<ExceptionReport> exceptionReportList; 

    public String getJSon(){ 
     JSONObject json = new JSONObject(); 

     json.put("totalCount", total); 

     JSONArray jsonArray = new JSONArray(); 
     for(ExceptionReport report : exceptionReportList){ 
      JSONObject jsonTmp = new JSONObject(); 
      jsonTmp.put("reportId", report.getReportId());  
      jsonTmp.put("message", report.getMessage());    
      jsonArray.add(jsonTmp);   
     } 

     json.put("reports", jsonArray); 
     return json.toString(); 
    } 
    ... 
} 
+0

आपको इसे सी # में आज़माएं और हमें वह कोड दिखाएं जो आप कोशिश कर रहे हैं। जैसा कि लिखा गया है, यह प्रश्न किसी Google खोज से उत्तर से दूर है, और उसके ऊपर मूल्य नहीं जोड़ता है। सी # में आपने जो कोशिश की है, और जो काम नहीं कर रहा है, उसे शामिल करने के लिए कृपया अपना प्रश्न संपादित करें। –

+0

@ जॉर्ज स्टॉकर वह धारावाहिक करने के बारे में पूछ रहा है और आप deserializing के डुप्लिकेट दिखा रहे हैं, क्यों? –

+0

@ गोविंदकमलाप्रकाश मालवीया डुप्लिकेट के असंख्य से, मैंने गलत तरीके से गलत किया और चुना। इसे पकड़ने के लिए धन्यवाद। –

उत्तर

74

मैं Newtonsoft JSON.NET (Documentation) का इस्तेमाल किया है यह आप एक वर्ग/वस्तु बनाने के खानों को भरने, और जैसा कि क्रमानुसार करने की अनुमति देता है JSON।

public class ReturnData 
{ 
    public int totalCount { get; set; } 
    public List<ExceptionReport> reports { get; set; } 
} 

public class ExceptionReport 
{ 
    public int reportId { get; set; } 
    public string message { get; set; } 
} 


string json = JsonConvert.SerializeObject(myReturnData); 
+1

हैलो, यह उत्तर काम करता है, लेकिन ऑब्जेक्ट को क्रमबद्ध करने का कोई तरीका है जैसे जावास्क्रिप्ट प्रारूप में नया {नाम = "मेरा नाम"} को {name: "MyName"} पर क्रमबद्ध किया जाएगा। धन्यवाद –

+1

@LexyFeito मुझे लगता है कि किसी ने आपके प्रश्न का उत्तर नहीं दिया है। उपयोग: 'वर सेटिंग्स = नए JsonSerializerSettings {ContractResolver = नए CamelCasePropertyNamesContractResolver()};' ' settings.Converters.Add (नई StringEnumConverter());' ' वर json = JsonConvert.SerializeObject (myReturnData, Formatting.Indented, सेटिंग्स); ' – Kody

+0

कार्य टैंक @@ –

36

उपयोग .net इनबिल्ट वर्ग JavaScriptSerializer

JavaScriptSerializer js = new JavaScriptSerializer(); 
    string json = js.Serialize(obj); 
+0

'json.put ("totalCount", कुल) को कैसे संभालें; '? – user595234