国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Swift > 正文

Swift中字典與JSON轉(zhuǎn)換的方法

2020-03-09 17:45:43
字體:
供稿:網(wǎng)友

Swift中經(jīng)常會(huì)遇到字典和字符串的相互轉(zhuǎn)換,因此可以轉(zhuǎn)換可以封裝起來,轉(zhuǎn)換代碼如下:

func convertStringToDictionary(text: String) -> [String:AnyObject]? {  if let data = text.data(using: String.Encoding.utf8) {    do {      return try JSONSerialization.jsonObject(with: data, options: [JSONSerialization.ReadingOptions.init(rawValue: 0)]) as? [String:AnyObject]    } catch let error as NSError {      print(error)    }  }  return nil}func convertDictionaryToString(dict:[String:AnyObject]) -> String {  var result:String = ""  do {    //如果設(shè)置options為JSONSerialization.WritingOptions.prettyPrinted,則打印格式更好閱讀    let jsonData = try JSONSerialization.data(withJSONObject: dict, options: JSONSerialization.WritingOptions.init(rawValue: 0))    if let JSONString = String(data: jsonData, encoding: String.Encoding.utf8) {      result = JSONString    }  } catch {    result = ""  }  return result}func convertArrayToString(arr:[AnyObject]) -> String {  var result:String = ""  do {    let jsonData = try JSONSerialization.data(withJSONObject: arr, options: JSONSerialization.WritingOptions.init(rawValue: 0))    if let JSONString = String(data: jsonData, encoding: String.Encoding.utf8) {      result = JSONString    }  } catch {    result = ""  }  return result}

實(shí)際測試:

 

  let jsonText:String = "{/"order_info/":[{/"order_id/":/"1479828084819597144/",/"channel/":/"ios/",/"product_id/":/"02/"},{/"order_id/":/"1479828084819597144/",/"channel/":/"ios/",/"product_id/":/"02/"}]}"  let dict = self.convertStringToDictionary(text: jsonText)  print("字符串轉(zhuǎn)換之后的字典:/(dict!)")  var dictionaryOrArray : [String: AnyObject] = [:]  dictionaryOrArray["a/"b"] = "cd" as AnyObject?  dictionaryOrArray["strings"] = ["string", "another"] as AnyObject?  dictionaryOrArray["keywdict"] = [ "anotherKey": 100, "Key2": "Val2"] as AnyObject?  dictionaryOrArray["numbers"] = [ 1, 2, 3] as AnyObject?  dictionaryOrArray["bools"] = [ true, false] as AnyObject?  let convertResult:String = self.convertDictionaryToString(dict: dictionaryOrArray)  print("字典轉(zhuǎn)換之后的字符串:/(convertResult)")  let array:[String] = ["FlyElephant","keso"]  print("數(shù)組轉(zhuǎn)換之后的數(shù)組:/(self.convertArrayToString(arr: array as [AnyObject]))")

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大埔区| 永城市| 临猗县| 同仁县| 昆明市| 毕节市| 曲麻莱县| 叙永县| 榆树市| 虎林市| 扶余县| 太原市| 浦城县| 永登县| 阿瓦提县| 安多县| 萨迦县| 泸溪县| 襄城县| 天台县| 循化| 东安县| 靖远县| 资源县| 沈阳市| 远安县| 宝坻区| 平远县| 浠水县| 合肥市| 定襄县| 米林县| 忻城县| 大足县| 遂平县| 武邑县| 洪江市| 城口县| 灌阳县| 上栗县| 西乌珠穆沁旗|