在SWIFT中将字典转换为JSON

在SWIFT中将字典转换为JSON

我已经创建了下一个字典:

var postJSON = [ids[0]:answersArray[0], ids[1]:answersArray[1], ids[2]:answersArray[2]] as Dictionary

我得到了:

[2: B, 1: A, 3: C]

那么,如何将其转换为JSON呢?


牧羊人nacy
浏览 1249回答 3
3回答

POPMUISE

SWIFT 3.0使用SWIFT 3,名称为NSJSONSerialization和它的方法已经改变了,根据SWIFT API设计指南.let dic = ["2": "B", "1": "A", "3": "C"]do {     let jsonData = try JSONSerialization.data(withJSONObject: dic, options: .prettyPrinted)     // here "jsonData" is the dictionary encoded in JSON data     let decoded = try JSONSerialization.jsonObject(with: jsonData, options: [])     // here "decoded" is of type `Any`, decoded from JSON data     // you can now cast it with the right type             if let dictFromJSON = decoded as? [String:String] {         // use dictFromJSON    }} catch {     print(error.localizedDescription)}SWIFT 2.xdo {     let jsonData = try NSJSONSerialization.dataWithJSONObject(dic, options: NSJSONWritingOptions.PrettyPrinted)     // here "jsonData" is the dictionary encoded in JSON data     let decoded = try NSJSONSerialization.JSONObjectWithData(jsonData, options: [])     // here "decoded" is of type `AnyObject`, decoded from JSON data     // you can now cast it with the right type      if let dictFromJSON = decoded as? [String:String] {         // use dictFromJSON    }} catch let error as NSError {     print(error)}SWIFT 1var error: NSError?if let jsonData = NSJSONSerialization.dataWithJSONObject(dic, options: NSJSONWritingOptions.PrettyPrinted, error: &error) {     if error != nil {         println(error)     } else {         // here "jsonData" is the dictionary encoded in JSON data    }}if let decoded = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as? [String:String] {     if error != nil {         println(error)     } else {         // here "decoded" is the dictionary decoded from JSON data    }}

海绵宝宝撒

我对你的问题的回答如下let dict = ["0": "ArrayObjectOne", "1": "ArrayObjecttwo", "2": "ArrayObjectThree"]var error : NSError?let jsonData = try! NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions.PrettyPrinted)let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as Stringprint(jsonString)答案是{   "0" : "ArrayObjectOne",   "1" : "ArrayObjecttwo",   "2" : "ArrayObjectThree"}
打开App,查看更多内容
随时随地看视频慕课网APP