久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Swift中字典與JSON轉換的方法

Swift中經常會遇到字典和字符串的相互轉換,本篇文章主要介紹了Swift中字典與JSON轉換的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

Swift中經常會遇到字典和字符串的相互轉換,因此可以轉換可以封裝起來,轉換代碼如下:


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 {
    //如果設置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
}

實際測試:

 


  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("字符串轉換之后的字典:\(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("字典轉換之后的字符串:\(convertResult)")


  let array:[String] = ["FlyElephant","keso"]
  print("數組轉換之后的數組:\(self.convertArrayToString(arr: array as [AnyObject]))")

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要給大家介紹了關于RxSwift學習教程之類型對象Subject的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
這篇文章主要給大家介紹了關于RxSwift學習教程之Observable的相關資料,文中詳細的給大家介紹了關于新建Observable、訂閱Observable和取消訂閱并消除內存泄漏等相關的內容,需要的朋友可以
RxSwift是Swift函數響應式編程的一個開源庫,由Github的ReactiveX組織開發,維護。下面這篇文章主要給大家介紹了關于RxSwift學習之基礎篇的相關資料,文中通過示例代碼介紹的非常詳細,需
這篇文章主要為大家詳細介紹了Swift4.0 Array數組的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
CATransition動畫主要在過渡時使用,比如兩個頁面層級改變的時候添加一個轉場效果。CATransition分為兩類,一類是公開的動畫效果,一類是非公開的動畫效果。這篇文章主要給大家介紹了
近日,iPhone X的發布在人們群眾引起了很大的轟動,下面這篇文章主要給大家介紹了關于利用Swift如何判斷iPhone X機型的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面
主站蜘蛛池模板: 免费久久久 | 亚洲成人精品久久 | 欧美福利 | 粉嫩国产精品一区二区在线观看 | 成人欧美一区二区三区黑人孕妇 | 久久久久香蕉视频 | 三级免费av | 国产精品日韩 | a免费在线 | 一级黄色生活视频 | 欧美精品一区二区免费视频 | 久久久国| 久久高清| 亚洲高清视频一区二区 | 久久精品色欧美aⅴ一区二区 | 中文字幕亚洲欧美日韩在线不卡 | 国产福利在线播放麻豆 | 日韩欧美在线视频 | 成人免费观看男女羞羞视频 | 欧美成人影院在线 | 国产精品美女久久久久久免费 | 久久91| 操久久 | 真人一级毛片 | 成人精品鲁一区一区二区 | www.久草.com| 亚洲成人网在线 | 男女免费观看在线爽爽爽视频 | 一区二区不卡 | 成人欧美一区二区三区1314 | 在线观看免费毛片 | 一级毛片在线播放 | 亚洲综合首页 | 国产精品一区二区免费 | 一区二区精品 | 久草www| 国产精品亚洲欧美日韩一区在线 | 成人精品在线视频 | 美日韩免费视频 | 色婷婷亚洲国产女人的天堂 | 久久综合入口 |