ios - Why didn't JSON parser catch non-validated data? -
एक बार & amp; थोड़ी देर मुझे यह कुछ पुनरावृत्तियों के बाद हो सकता है। मैंने पता लगाया है दुर्घटना का स्रोत ( जो मैं इसे मानता है ) यही है, यह कुछ पुनरावृत्तियों के लिए काम करता है (बाहर निकलें, ऐप को पुन: लॉन्च करें और फिर से चलाएं); फिर क्रैश हो जाता है सिम्युलेटर को साफ़ करें & amp; पुनर्निर्माण ... पैटर्न दोहराता है मैंने इसे JSON कॉल के ठीक पहले एक < / P> यहां वास्तविक स्क्रीन डंप है: < / P> प्रश्न: क्यों नहीं JSON पार्सर इस त्रुटि को आप जबरन से चूंकि आप jsonError की सामग्री को बिल्कुल नहीं देखते हैं, आप त्रुटि पैरामीटर को अनदेखा कर सकते हैं और इसके बजाय वैकल्पिक बाइंडिंग का उपयोग कर सकते हैं, जैसे यदि आप त्रुटि ऑब्जेक्ट का निरीक्षण करना चाहते हैं, तो आप इसे इस तरह लिख सकते हैं: घातक दुर्घटना मिलती है: EXC_BAD_INSTRUCTION ।
NSJSONSerialization पार्सर जो एक गैर-मान्य स्ट्रिंग प्राप्त होता है - & gt; जानकारी।
println (स्ट्रिंग) करके किया है; और एक JSON validator में स्ट्रिंग का एक कट / पेस्ट किया और errant
'(' शुरुआत में :
({"photos": {"पृष्ठ": 1, "पृष्ठ": 1340, .....
NSError बनाम एक
घातक अपवाद फेंकता है?
... यह एक बग है? NSJSONSerialization.JSONObjectWithData () से लौटा वस्तु को खोलना चाहते हैं, लेकिन पार्सर त्रुटि होने पर यह शून्य होगा। ऐसा होता है, तो आप एक रनटाइम त्रुटि से क्रैश करते हैं।
अगर JSOND को दें तो ict = NSJSONSerialization.JSONObjectWithData (डेटा !, विकल्प:। AllowedFragments, त्रुटि: शून्य) के रूप में NSDictionary {// JSONDict के साथ कुछ करना} अन्य {println ("त्रुटि")}}
JSONDict = NSJSONSerialization.JSONObjectWithData (डेटा !, विकल्प:। अनुमति दें, त्रुटि: & jsonError) NSDictionary के रूप में? यदि JSONDict == नीला {यदि आज्ञा देना है तो = jsonError {println (err.localizedDescription)} return} // JSONDict के साथ कुछ करें
Comments
Post a Comment