2012-01-07 7 views
6

मैं newtonsoft json.net http://json.codeplex.com/ का उपयोग कर रहा हूं और मैं जानना चाहता हूं ...जांचें JSON और XML मान्य है? सी #

जेसन और एक्सएमएल मान्य करने के लिए कैसे वैध जेसन/एक्सएमएल हैं।

मैं इसे कैसे सत्यापित करूं?

+0

देखें [यह सुनिश्चित करने के लिए कि स्ट्रिंग JSON.NET का उपयोग करके मान्य JSON है) (http://stackoverflow.com/a/14977915) –

उत्तर

7

जहां आप जेसन, सर्वर पक्ष या क्लाइंट साइड पर मान्य करना चाहते हैं। मान लीजिए कि आप इसे सर्वर की तरफ करना चाहते हैं, जेसन स्ट्रिंग को deserializing कोशिश करें। अगर यह टूट जाता है, तो यह वैध जेसन नहीं है। आप JSON.net सॉफ्टवेयर का उपयोग कर रहे हैं, तो उद्देश्य

var serializer = new JavaScriptSerializer(); 
var result = serializer.Deserialize<Dictionary<string, object>>(json); 
1

deserializing के लिए JavaScriptSerializer का उपयोग करें, आप बिल्कुल कर सकता है के रूप में आनंद ने कहा। बस JSON स्ट्रिंग को deserialize और यदि यह तोड़ता है या त्रुटियों को मिटा देता है, तो यह वैध JSON संरचना नहीं है। अब, यदि आप http://jsonlint.com/ जैसे कुछ करने की कोशिश कर रहे हैं तो आप संभवतः फ़ोरम पर आपकी सहायता करने के दायरे से बाहर पहुंच रहे हैं।

var root = JsonConvert.DeserializeObject<RootObject>(result); 

जहां जानकारी आप JSON स्ट्रिंग से deserialize करना चाहते हैं एक वर्ग के लिए होगा: आप अगर यह बाहर है या नहीं त्रुटियों, बस सी # में निम्न कोड जहां परिणाम JSON स्ट्रिंग है का उपयोग जाँच करना चाहता है तो

public class RootObject 
{ 
    // You would need to create items here to store each of the objects' information in the JSON file. 
    // For example: 
    public string itemName { get; set; } 
    public int itemID { get; set; } 
} 

अब, यह मानते हुए कि जाती है कि आप जानकारी है कि JSON फ़ाइल में होना चाहिए पता है: RootObject के समान है। अन्यथा, यह अपने आप में और एक संपूर्ण कार्यक्रम है। JSON के लिए

+1

यह जानना दिलचस्प होगा कि "ब्रेक या त्रुटियों" की परिभाषा क्या है यहाँ है। मैंने देखा कि JsonConvert.DeserializeObject() के लिए XML दस्तावेज़ यह नहीं कहता कि क्या अपवाद फेंक दिया गया है यदि कोई भी ... – PandaWood

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