2009-12-03 15 views
7

मैंने डेटाकंट्रैक्टजसनसेरियलाइज़र का उपयोग करके किसी विशेष वस्तु के किसी JSON ऑब्जेक्ट को deserialize करने के बारे में बहुत सारे ट्यूटोरियल पढ़े हैं। हालांकि, मैं अपनी ऑब्जेक्ट को किसी डिक्शनरी में deserialize करना चाहता हूं जिसमें स्ट्रिंग्स, एरेज़ या डिक्शनरी शामिल हैं, जैसे सिस्टम। जेसन सिल्वरलाइट के साथ करता है जब मैं जेसनऑब्जेक्ट.पर्स (myJSONstring) कहता हूं।जेनेटिक जेएसओएन पार्सर .NET/WPF में?

क्या सिस्टम के बराबर है। जेसन कि मैं अपने डब्ल्यूपीएफ प्रोजेक्ट में उपयोग कर सकता हूं?

(बस एक छोटी पृष्ठभूमि: मैं JSON ऑब्जेक्ट ज्यादा जानकारी के लिए रास्ता है कि प्राप्त करने में कठिनाई हूँ, और मैं सिर्फ एक छोटा सा उपयोग करने के लिए एक स्ट्रिंग सरणी को भरने के लिए चाहते हैं)

चीयर्स

Nik

उत्तर

3

http://json.org/ के सी # अनुभाग (नीचे तक स्कॉल करें) पर एक नज़र डालें, उनके पास सीरियललाइज़र और पार्सर्स के कई कार्यान्वयन हैं जो मदद करनी चाहिए। दोनों शब्दकोश और एक सपने की तरह सूचियाँ के लिए http://jayrock.berlios.de/

public class JayRockMarshaller : IMarshaller 
{ 
    public ICollection Read(string text) 
    { 
     return (ICollection)new ImportContext().Import(new JsonTextReader(new StringReader(text))); 
    } 

    public string Write(ICollection objectToMarshal) 
    { 
     var writer = new StringWriter(); 
     new ExportContext().Export(objectToMarshal, new JsonTextWriter(writer)); 
     return writer.ToString(); 
    } 
} 

काम करता है:

1

मैं सफलतापूर्वक JayRock का उपयोग करें।

0

https://github.com/jlarsson/Kiwi.Json पर भी देखें, यह सभी प्रकार के डेटाटाइप को संभालता है और यदि आप फिट नहीं होते हैं तो आप आसानी से अपना स्वयं का कनवर्टर बना सकते हैं।

वहाँ ब्लॉग जहाँ आप उदाहरण के लिए इस पर नमूने मिल सकते हैं: http://dancewithcode.wordpress.com/2012/03/24/case-study-custom-json-converter-for-datatable/

8

बस का उपयोग नेट के अंतर्निहित JavaScriptSerializer।

var jss = new JavaScriptSerializer(); 
var data = jss.Deserialize<dynamic>(jsonString); 

//"data" actually implements IDictionary<string, object> 
var p1 = data["Property1"]; 
var p2 = data["Property2"]; 

मत भूलना संदर्भित करने के लिए "System.Web.Extensions"

संबंधित मुद्दे