मेरे पास एक आईओएस ऐप है जिसे वेब सेवा से प्रतिक्रिया को संसाधित करने की आवश्यकता है।NSJSONSerialization के साथ एक बच निकले JSON स्ट्रिंग को आप कैसे deserialize कर सकते हैं?
"{ \"name\" : \"Bob\", \"age\" : 21 }"
ध्यान दें कि यह प्रतिक्रिया एक JSON स्ट्रिंग, नहीं एक JSON ऑब्जेक्ट है: प्रतिक्रिया एक धारावाहिक JSON ऑब्जेक्ट युक्त, कुछ इस तरह की तलाश में एक धारावाहिक JSON स्ट्रिंग है।
{ "name" : "Bob", "age" : 21 }
और फिर मैं +[NSJSONSerialization JSONObjectWithData:options:error:]
उपयोग कर सकते हैं deserialize करने के लिए है कि एक NSDictionary
में: क्या मैं क्या करने की जरूरत स्ट्रिंग deserialize, ताकि मैं इस मिलता है।
लेकिन, मैं यह पहला कदम कैसे करूं? यही है, मैं स्ट्रिंग को "अनदेखा" कैसे करूं ताकि मेरे पास एक क्रमबद्ध JSON ऑब्जेक्ट हो? +[NSJSONSerialization JSONObjectWithData:options:error:]
केवल तभी काम करता है जब शीर्ष-स्तरीय ऑब्जेक्ट एक सरणी या शब्दकोश है; यह तारों पर काम नहीं करता है।
मैंने my own JSON string parser लिखना समाप्त कर दिया, जो मुझे उम्मीद है कि section 2.5 of RFC 4627 पर अनुरूप है। लेकिन मुझे संदेह है कि मैंने NSJSONSerialization
या कुछ अन्य उपलब्ध विधि का उपयोग करके ऐसा करने के कुछ आसान तरीके को अनदेखा कर दिया है।
बस बंद प्रमुख और अनुगामी quoteß कटौती और फिर सभी '\" 'रों की जगह '' 'के साथ। –
फिर आप प्रत्येक संभावित भागने अनुक्रम के लिए अनजान प्रक्रिया को दोहराते हैं (बहुत सारे हैं)। –
'\ uXXXX' एस्केप अनुक्रम सरल खोज-और-प्रतिस्थापन को आसान बनाता है। –