亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Swift中字典與JSON轉換的方法

 更新時間:2017年03月23日 10:36:12   作者:FlyElephant  
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]))")

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

相關文章

  • Swift使用SnapKit模仿Kingfisher第三方擴展優(yōu)化

    Swift使用SnapKit模仿Kingfisher第三方擴展優(yōu)化

    這篇文章主要為大家介紹了Swift?SnapKit模仿Kingfisher第三方擴展優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Swift?enum枚舉類型使用詳解

    Swift?enum枚舉類型使用詳解

    這篇文章主要為大家介紹了Swift?enum枚舉類型的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 詳解Swift編程中下標的用法

    詳解Swift編程中下標的用法

    這篇文章主要介紹了Swift編程中下標的用法,是Swift入門學習中的基礎知識,需要的朋友可以參考下
    2015-11-11
  • Swift中的HTTP模擬測試示例詳解

    Swift中的HTTP模擬測試示例詳解

    這篇文章主要為大家介紹了Swift中的HTTP模擬測試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Swift實現(xiàn)快速排序算法的代碼示例

    Swift實現(xiàn)快速排序算法的代碼示例

    這篇文章主要介紹了Swift實現(xiàn)快速排序算法的代碼示例,首先利用分治法講解了快速排序的思路,需要的朋友可以參考下
    2016-07-07
  • Swift與C語言指針結合使用實例

    Swift與C語言指針結合使用實例

    這篇文章主要介紹了Swift與C語言指針結合使用實例,本文講解了用以輸入/輸出的參數指針、作為數組使用的參數指針、用作字符串參數的指針、指針參數轉換的安全性等內容,需要的朋友可以參考下
    2015-05-05
  • Swift中swift中的switch 語句

    Swift中swift中的switch 語句

    本文給大家介紹了swift中的swift語句,以及和c語音中的寫法區(qū)別,本文介紹的非常詳細,需要的朋友參考下
    2016-12-12
  • swift實現(xiàn)顏色漸變以及轉換動畫

    swift實現(xiàn)顏色漸變以及轉換動畫

    這篇文章主要為大家詳細介紹了swift實現(xiàn)顏色漸變以及轉換動畫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • SwiftUI圖片縮放、拼圖等處理教程

    SwiftUI圖片縮放、拼圖等處理教程

    SwiftUI是一種使用Swift語言在蘋果設備上構建用戶界面的創(chuàng)新且簡單的方式,下面這篇文章主要給大家介紹了關于SwiftUI圖片縮放、拼圖等處理的相關資料,需要的朋友可以參考下
    2021-08-08
  • Swift教程之類的析構詳解

    Swift教程之類的析構詳解

    這篇文章主要介紹了Swift教程之類的析構詳解,在一個類的實例被釋放之前,析構函數會被調用,本文即講解了析構過程原理、析構器操作等內容,需要的朋友可以參考下
    2015-01-01

最新評論