स्विफ्ट 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:)
के लिए एक शब्दकोश में JSON स्ट्रिंग deserialize करने के लिए।
इसके अलावा, स्विफ्ट और स्विफ्ट 3 4 के साथ, String
के data(using:allowLossyConversion:)
भी साथ संयोजन के रूप में इस्तेमाल किया जा सकता JSONSerialization
'एस jsonObject(with:options:)
के लिए एक शब्दकोश में JSON स्ट्रिंग deserialize करने के लिए।
# 1। स्विफ्ट 4 समाधान
स्विफ्ट 4 के साथ, JSONDecoder
एक विधि कहा जाता है decode(_:from:)
। decode(_:from:)
निम्नलिखित घोषणा है:
func decode<T>(_ type: T.Type, from data: Data) throws -> T where T : Decodable
दिए गए JSON प्रतिनिधित्व से दिए गए प्रकार के एक शीर्ष-स्तरीय मान को डिकोड करता है।
नीचे दिए गए प्लेग्राउंड कोड से पता चलता है कि JSON फॉर्मेट से कैसे उपयोग किया जाए data(using:allowLossyConversion:)
और कैसे decode(_:from:)
प्राप्त किया जाए :Dictionary
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 डेटा से एक फाउंडेशन ऑब्जेक्ट लौटाता है।
नीचे दिए गए प्लेग्राउंड कोड से पता चलता है कि JSON फॉर्मेट से कैसे उपयोग किया जाए data(using:allowLossyConversion:)
और कैसे jsonObject(with:options:)
प्राप्त किया जाए :Dictionary
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)
}
}