Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> iOS

iPhone/iOS में JSON ऑब्जेक्ट पार्स करना - JSONSerialization ट्यूटोरियल


JSON का मतलब जावास्क्रिप्ट ऑब्जेक्ट नोटेशन है। API या किसी अन्य सेवा के साथ काम करते समय ज्यादातर डेटा JSON फॉर्मेट में लौटाया जाता है और हमें इसे उपयोग योग्य और समर्थित भाषा फॉर्मेट में बदलने की आवश्यकता होती है।

iOS का फाउंडेशन फ्रेमवर्क JSON को डिक्शनरी, स्ट्रिंग्स, बूल आदि जैसे समर्थित फॉर्मेट में बदलने के लिए JSONSerialization क्लास प्रदान करता है।

JSONSerialization क्लास एक मेथड jsonObject(with:options:) प्रदान करती है जो JSON को पार्स करती है और परिणाम के रूप में Any लौटाती है, और यदि डेटा पार्स नहीं किया जा सकता है तो एक त्रुटि।

उदाहरण JSON

// Example JSON:
/* {
    "age": 42.0,
    "name": {
        "firstName": "tut"
    }
} */

API कॉल से डेटा पार्स करना

if let data = data, let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
    // अब उपरोक्त json ऑब्जेक्ट प्राप्त डेटा को String और Any के डिक्शनरी के रूप में रखता है
}

मान लें json में एक कुंजी "Student" है और उससे जुड़ा मान एक डिक्शनरी है:

guard let student = json["Student"] as? [String: Any] else { return }

इस तरह हम JSON को पार्स कर सकते हैं और उससे मान प्राप्त कर सकते हैं। हम मॉडल और इनिशियलाइज़र का उपयोग करके इसे और बढ़ा सकते हैं। आइए एक स्थानीय JSON फ़ाइल बनाकर और फिर उसे पार्स करने का प्रयास करके इसका एक उदाहरण देखें।

स्थानीय JSON फ़ाइल पार्स करना

निम्नलिखित डेटा के साथ एक JSON फ़ाइल बनाएं और इसे exercises.json के रूप में सहेजें:

{
    "Warmup": {
        "Exercises": [
            {
                "Name": "Neck Strech",
                "images": [
                    "http:sdf.com",
                    "sdf",
                    "sdf",
                    "sdf"
                ],
                "time": 30
            }
        ]
    }
}

अब हम इस स्थानीय JSON को पार्स करेंगे और निम्नलिखित कोड का उपयोग करके परिणाम प्रिंट करेंगे:

if let filePath = Bundle.main.path(forResource: "exerciseData", ofType: "json") {
    do {
        let data = try Data(contentsOf: URL(fileURLWithPath: filePath), options: .mappedIfSafe)
        let jsonResult = try JSONSerialization.jsonObject(with: data, options: .mutableLeaves)
        if let exercises = jsonResult as? [String:AnyObject] {
            if let warmups = exercises["Warmup"] as? [String:AnyObject] {
                print(warmups)
            }
        }
    } catch {
        print(error.localizedDescription)
    }
}
  1. iPhone को तेज कैसे करें iPhone को तेज कैसे करें

    iPhones उम्र के साथ धीमे हो जाते हैं - खासकर जब एक चमकदार नया मॉडल आ जाता है और आप सोच रहे होते हैं कि खुद को ट्रीट करने को कैसे जायज ठहराएं। कारण अक्सर बहुत सारी जंक फाइल्स और पर्याप्त फ्री स्पेस न होना, साथ ही आउटडेटेड सॉफ्टवेयर और बैकग्राउंड में चल रही वो चीजें होती हैं जिनकी आवश्यकता नहीं होती।

  1. iOS को सुरक्षित रूप से डाउनग्रेड करना: चरण-दर-चरण मार्गदर्शिका iOS को सुरक्षित रूप से डाउनग्रेड करना: चरण-दर-चरण मार्गदर्शिका

    iOS अपडेट अविश्वसनीय रूप से रोमांचक हो सकते हैं। न केवल वे अद्भुत विशेषताओं के साथ आते हैं जो आपके iPhone की कार्यक्षमता में सुधार करते हैं, बल्कि अधिकांश वृद्धिशील अपडेट में ज्ञात बग और समस्याओं को हल करने वाले बहुत सारे सुधार भी होते हैं। हालांकि, iOS के बीटा संस्करणों के साथ ऐसा नहीं है। वे अक्सर

  1. iOS 12 जल्दी इंस्टॉल करें: Apple बीटा में शामिल होकर नए फीचर्स एक्सेस करने की चरण-दर-चरण गाइड iOS 12 जल्दी इंस्टॉल करें: Apple बीटा में शामिल होकर नए फीचर्स एक्सेस करने की चरण-दर-चरण गाइड

    Apple ने अपने सबसे प्रतीक्षित iOS 12 की रिलीज डेट की घोषणा कर दी है, यानी 17 सितंबर। लेकिन अगर आप उन लोगों में से हैं जो तब तक इंतजार नहीं करना चाहते, तो आप अभी iOS 12 का गोल्डन मास्टर वर्जन इंस्टॉल कर सकते हैं। इसके लिए आपको Apple बीटा सॉफ्टवेयर प्रोग्राम में शामिल होना होगा और अपने डिवाइस को नामां