কম্পিউটার টিউটোরিয়াল

iPhone/iOS-এ JSON অবজেক্ট পার্স করা


JSON পার্সিং iOS-এ

JSON মানে JavaScript Object Notation। API বা অন্যান্য সার্ভিসের সাথে কাজ করার সময় ডেটা JSON ফরম্যাটে রিটার্ন হয় এবং আমাদের সেটিকে ব্যবহারযোগ্য ও সাপোর্টেড ল্যাঙ্গুয়েজ ফরম্যাটে কনভার্ট করতে হয়।

iOS-এর Foundation ফ্রেমওয়ার্ক JSONSerialization ক্লাস প্রদান করে যা JSON কে ডিকশনারি, স্ট্রিং, Bool ইত্যাদি সাপোর্টেড ফরম্যাটে কনভার্ট করে।

JSONSerialization ক্লাসে jsonObject(with:options:) মেথড থাকে যা JSON পার্স করে Any রিটার্ন করে এবং ডেটা পার্স না হলে এরর রিটার্ন করে।

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

আরেক উদাহরণ দিয়ে দেখি। ধরুন API কল থেকে ডেটা পেয়েছি, এখন JSONSerialization.jsonObject(with:options:) দিয়ে পার্স করব।

if let data = data, let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] { }

// উপরের json অবজেক্টে রিসিভড ডেটা String এবং Any-এর ডিকশনারি হিসেবে থাকে, অথবা else ব্লকে চলে যাবে।

// ধরুন json-এ "Student" নামে একটি কী আছে এবং এর ভ্যালু একটি ডিকশনারি।

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

এভাবে JSON পার্স করে ভ্যালু বের করা যায়। মডেল এবং ইলিশিয়ার ব্যবহার করে আরও উন্নত করা যায়। লোকাল JSON ফাইল তৈরি করে পার্স করার উদাহরণ নিচে দেওয়া হলো।

নিচের ডেটা সহ exercises.json নামে একটি 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) 
    } 
}

এই কোড রান করলে নিচের আউটপুট পাওয়া যায়:

iPhone/iOS-এ JSON অবজেক্ট পার্স করা

  1. আইফোনে iOS আপডেট করার উপায়

  2. আইফোন স্পিড আপ করার ১০টি কার্যকর টিপস

  3. নিরাপদে আইওএস ডাউনগ্রেড: ধাপে ধাপে গাইড

  4. iOS 12 শীঘ্র ইনস্টল করুন: Apple Beta জয়েন করে নতুন ফিচার অ্যাক্সেস করার ধাপে ধাপে গাইড