সুইফট 3 এবং সুইফট 4 এর String
সাথে একটি পদ্ধতি বলা হয় data(using:allowLossyConversion:)
। data(using:allowLossyConversion:)
নিম্নলিখিত ঘোষণা আছে:
func data(using encoding: String.Encoding, allowLossyConversion: Bool = default) -> Data?
প্রদত্ত এনকোডিং ব্যবহার করে স্ট্রিং এনকোডযুক্ত একটি উপস্থাপনাযুক্ত একটি ডেটা ফেরত দেয়।
সুইফট 4 String
-এর data(using:allowLossyConversion:)
সাথে একটি অভিধানে জেএসএন স্ট্রিংকে ডিসিশায়াল করার জন্য JSONDecoder
এর ব্যবহারের সাথে ব্যবহার করা যেতে পারে decode(_:from:)
।
তদ্ব্যতীত, সুইফট 3 এবং সুইফট 4 String
এর data(using:allowLossyConversion:)
সাথে একটি অভিধানে জেএসএন স্ট্রিংকে ডিসিশিয়ালাইজ করার জন্য JSONSerialization
এর ব্যবহারের সাথেও ব্যবহার করা যেতে পারে jsonObject(with:options:)
।
# 1। সুইফট 4 সমাধান
সুইফট 4 এর সাথে JSONDecoder
একটি পদ্ধতি বলা হয় decode(_:from:)
। decode(_:from:)
নিম্নলিখিত ঘোষণা আছে:
func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable
প্রদত্ত JSON উপস্থাপনা থেকে প্রদত্ত ধরণের একটি শীর্ষ স্তরের মান ডিকোড করে।
কিভাবে ব্যবহার করতে শো নিচে খেলার মাঠ কোড data(using:allowLossyConversion:)
এবং decode(_:from:)
অনুক্রমে একটি পেতে Dictionary
একটি JSON- থেকে ফরম্যাট String
:
let jsonString = """
{"password" : "1234", "user" : "andreas"}
"""
if let data = jsonString.data(using: String.Encoding.utf8) {
do {
let decoder = JSONDecoder()
let jsonDictionary = try decoder.decode(Dictionary<String, String>.self, from: data)
print(jsonDictionary) // prints: ["user": "andreas", "password": "1234"]
} catch {
// Handle error
print(error)
}
}
# 2। সুইফট 3 এবং সুইফট 4 সমাধান
সুইফট 3 এবং সুইফট 4 এর JSONSerialization
সাথে একটি পদ্ধতি বলা হয় jsonObject(with:options:)
। jsonObject(with:options:)
নিম্নলিখিত ঘোষণা আছে:
class func jsonObject(with data: Data, options opt: JSONSerialization.ReadingOptions = []) throws -> Any
প্রদত্ত JSON ডেটা থেকে একটি ফাউন্ডেশন অবজেক্ট প্রদান করে।
কিভাবে ব্যবহার করতে শো নিচে খেলার মাঠ কোড data(using:allowLossyConversion:)
এবং jsonObject(with:options:)
অনুক্রমে একটি পেতে Dictionary
একটি JSON- থেকে ফরম্যাট String
:
import Foundation
let jsonString = "{\"password\" : \"1234\", \"user\" : \"andreas\"}"
if let data = jsonString.data(using: String.Encoding.utf8) {
do {
let jsonDictionary = try JSONSerialization.jsonObject(with: data, options: []) as? [String : String]
print(String(describing: jsonDictionary)) // prints: Optional(["user": "andreas", "password": "1234"])
} catch {
// Handle error
print(error)
}
}