2014-04-04 12 views
52

मैं इस स्ट्रिंग मेरी डेटाबेस में संग्रहीत है:Convert JSON स्ट्रिंग JSON करने के लिए वस्तु ग #

str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }" 

इस स्ट्रिंग JSON प्रारूप में पहले से ही है लेकिन मैं इसे एक JObject या JSON वस्तु में तब्दील करना चाहते हैं।

JObject json = new JObject(); 

मैं json = (JObject)str; कलाकारों की कोशिश की लेकिन यह इतना कैसे मैं यह कर सकता काम नहीं किया?

उत्तर

113

JObject इस के लिए विधि Parse परिभाषित करता है:

JObject json = JObject.Parse(str); 

आप Json.NET documentation का उल्लेख कर सकते हैं।

+0

हो जाएगा ताकि {string} में कनवर्ट करें, आपकी स्ट्रिंग में अतिरिक्त घुंघराले ब्रैकेट जोड़ देगा। –

13

यह काम करता है

string str = "{ 'context_name': { 'lower_bound': 'value', 'pper_bound': 'value', 'values': [ 'value1', 'valueN' ] } }"; 
    JavaScriptSerializer j = new JavaScriptSerializer(); 
    object a = j.Deserialize(str, typeof(object)); 
+0

एरर - विधि 'Deserialize' के लिए कोई अधिभार नहीं 2 तर्क लेता है ... –

7

एक और गोल एक बहुत शक्तिशाली उपकरण है कि मैं पहली बार के लिए कुछ दिन पहले इस्तेमाल किया Tradedoubler json अनुवाद करने के लिए साथ json पर एक वर्ग के आधार दृढ़ता से टाइप करने के लिए है जो हासिल करने के लिए एक दिलचस्प तरीके से वहाँ परिणाम

एक साधारण उपकरण है: अपने जेसन स्रोत पेस्ट की प्रतिलिपि बनाएँ और कुछ सेकंड you will have a strongly typed class json oriented में कॉपी करें। इस तरह आप इन वर्गों का उपयोग करेंगे जो अधिक शक्तिशाली और उपयोग करने के लिए बस हैं।

मुझे आशा है कि आप

+0

बस मुझे क्या चाहिए! इसलिए मुझे जावास्क्रिप्ट – NicolasZ

+0

में बनाए गए किसी चीज़ से जटिल श्रेणी संरचना को परिभाषित करने की आवश्यकता नहीं है, जबकि यह प्रश्न का उत्तर नहीं देता है। यह एक विशाल टाइमविंग उपकरण है। –

+0

बहुत बहुत धन्यवाद :) मुझे बहुत खुशी है कि यह प्रतिक्रिया उपयोगी है – makemoney2010

7

मदद कर सकते हैं अगर आप नहीं चाहते हैं या एक टाइप किया वस्तु कोशिश की जरूरत है:

using Newtonsoft.Json; 
// ... 
dynamic json = JsonConvert.DeserializeObject(str); 

या टाइप किया वस्तु कोशिश के लिए प्रयास करें:

Foo json = JsonConvert.DeserializeObject<Foo>(str) 
संबंधित मुद्दे