2009-08-01 35 views
9

का उपयोग कर मैं इस रूप में JSON स्ट्रिंग है चर प्रकार JSON सारणी:deserializing DataContractJsonSerializer

string jsonStr = "[\"A\", [\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]" 

मैं निम्नलिखित कोड का टुकड़ा

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr)); 
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof<X>); 
X data = (X)serializer.ReadObject(ms); 
साथ सी # नेट deserializer DataContractJsonSerializer का उपयोग कर JSON deserialize करने के लिए कोशिश कर रहा हूँ

चूंकि JSON सरणी परिवर्तनीय प्रकारों की एक सरणी है, इसलिए मुझे नहीं पता कि किस प्रकार की ऑब्जेक्ट एक्स

यदि मी y स्ट्रिंग थे

jsonStr = "[[\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]" 

मैं इस इस्तेमाल कर सकते हैं:

X = List<List<String>> 

और यह मेरे लिए काम करेंगे। मैं सोच रहा था कि परिवर्तनीय प्रकार JSON सरणी deserialize करने के लिए कोई रास्ता है?

उत्तर

8

आप ऐसा करने के लिए Json.NET का उपयोग कर सकते हैं।

JArray a = JArray.Parse(jsonStr); 

जेएआरआर में जेएसओएन के आधार पर या तो स्ट्रिंग या नेस्टेड जेएरे शामिल होंगे।

+0

मैं इस असेंबली का उपयोग करता हूं, और यह शानदार है। मैं अत्यधिक अनुशंसा करता हूं। –

+0

धन्यवाद जेम्स ने मेरे लिए काम किया था – Selene

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