Swift में JSON के साथ काम करना: शुरुआती लोगों के लिए पार्सिंग और सीरियलाइज़ेशन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift में JSON के साथ काम करने का परिचय

JSON (JavaScript Object Notation) एक हल्का डेटा विनिमय प्रारूप है जो मोबाइल और वेब डेवलपमेंट में व्यापक रूप से उपयोग किया जाता है। Swift (iOS/macOS) पर शुरुआती डेवलपर्स के लिए JSON के साथ काम करना एक अनिवार्य कौशल है। इस लेख में हम दो मुख्य दृष्टिकोणों पर चर्चा करेंगे: क्लासिक JSONSerialization और आधुनिक प्रोटोकॉल Codable। आप सीखेंगे कि नेटवर्क से डेटा कैसे प्राप्त करें, उसे पार्स करें और सर्वर पर भेजने के लिए वापस JSON में कैसे बदलें।

चाहे आप मौसम ऐप, टू-डू लिस्ट या सोशल नेटवर्क बना रहे हों — JSON आपका वफादार साथी होगा। आइए एक सरल उदाहरण से शुरू करें और धीरे-धीरे अधिक जटिल परिदृश्यों की ओर बढ़ें।



Swift में JSON की मूल बातें: संरचना और डेटा प्रकार

कोड लिखने से पहले, यह समझना महत्वपूर्ण है कि JSON कैसा दिखता है। Swift में JSON को शब्दकोशों ([String: Any]) और सरणियों ([Any]) के रूप में दर्शाया जाता है। JSON में मुख्य डेटा प्रकार:

  • स्ट्रिंग्स — दोहरे उद्धरण चिह्नों में संलग्न ("Hello")
  • संख्याएँ — पूर्णांक और फ्लोटिंग पॉइंट (42, 3.14)
  • बूलियन मान — true या false
  • सरणियाँ — मानों की क्रमबद्ध सूचियाँ ([1, 2, 3])
  • ऑब्जेक्ट — "कुंजी-मान" जोड़ियों का अक्रमबद्ध संग्रह ({"key": "value"})
  • null — खाली मान

Swift में JSON को प्रस्तुत करने के लिए अंतर्निहित डेटा संरचनाओं का उपयोग करना सुविधाजनक है। एक सरल JSON ऑब्जेक्ट का उदाहरण देखें:

{  "name": "इवान",  "age": 25,  "isStudent": false,  "hobbies": ["पढ़ना", "प्रोग्रामिंग"]}

अब देखते हैं कि Swift कोड में इस प्रारूप के साथ कैसे काम किया जाता है।



JSONSerialization के साथ JSON पार्सिंग (क्लासिक विधि)

Codable प्रोटोकॉल के आगमन से पहले, डेवलपर्स JSONSerialization क्लास का उपयोग करते थे। यह विधि आज भी प्रासंगिक है, खासकर जब JSON संरचना पहले से ज्ञात न हो या बहुत गतिशील हो।

पार्सिंग का मूल उदाहरण

मान लीजिए हमारे पास एक JSON स्ट्रिंग है जिसे Swift ऑब्जेक्ट्स में बदलना है:

let jsonString = """{  "name": "मारिया",  "age": 30,  "isEmployed": true}"""

if let jsonData = jsonString.data(using: .utf8) { do { if let dictionary = try JSONSerialization.jsonObject(with: jsonData, options: []) as? [String: Any] { let name = dictionary["name"] as? String ?? "अज्ञात" let age = dictionary["age"] as? Int ?? 0 let isEmployed = dictionary["isEmployed"] as? Bool ?? false print("नाम: \\(name), आयु: \\(age), नौकरी: \\(isEmployed)") } } catch { print("JSON पार्सिंग त्रुटि: \\(error.localizedDescription)") }}

ध्यान दें: शब्दकोश प्राप्त करने के बाद, हम प्रत्येक तत्व को आवश्यक प्रकार में स्पष्ट रूप से परिवर्तित करते हैं। यह बड़ी संख्या में फ़ील्ड होने पर असुविधाजनक हो सकता है।



JSON में सरणियों के साथ काम करना

अक्सर JSON में ऑब्जेक्ट्स की सरणियाँ होती हैं। उपयोगकर्ताओं की सरणी के साथ एक उदाहरण देखें:

let jsonArrayString = """[  {"name": "अन्ना", "age": 22},  {"name": "पीटर", "age": 28}]"""

if let data = jsonArrayString.data(using: .utf8) { do { if let users = try JSONSerialization.jsonObject(with: data, options: []) as? [[String: Any]] { for user in users { let name = user["name"] as? String ?? "" let age = user["age"] as? Int ?? 0 print("\\(name): \\(age) वर्ष") } } } catch { print("त्रुटि: \\(error)") }}

JSONSerialization विधि सरल है, लेकिन इसमें बहुत अधिक मैन्युअल टाइप कास्टिंग की आवश्यकता होती है। आधुनिक प्रोजेक्ट्स के लिए Apple Codable का उपयोग करने की सलाह देता है।



ब्लॉग

पुस्तक अनुशंसाएँ