激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Swift - Swift中字典與JSON轉(zhuǎn)換的方法

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

2021-01-05 14:41FlyElephant Swift

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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í)際測(cè)試:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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]))")

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.jianshu.com/p/210254495d57

延伸 · 閱讀

精彩推薦
  • SwiftSwift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    乞力馬扎羅的雪雪5822021-01-08
  • Swiftswift where與匹配模式的實(shí)例詳解

    swift where與匹配模式的實(shí)例詳解

    這篇文章主要介紹了swift where與匹配模式的實(shí)例詳解的相關(guān)資料,這里附有簡(jiǎn)單的示例代碼,講的比較清楚,需要的朋友可以參考下...

    追到夢(mèng)的魔術(shù)師14382021-01-06
  • SwiftSwift中轉(zhuǎn)義閉包示例詳解

    Swift中轉(zhuǎn)義閉包示例詳解

    在Swift 中的閉包類似于結(jié)構(gòu)塊,并可以在任何地方調(diào)用,下面這篇文章主要給大家介紹了關(guān)于Swift中轉(zhuǎn)義閉包的相關(guān)資料,需要的朋友可以參考下...

    小小小_小朋友11412021-12-26
  • SwiftSwift教程之基礎(chǔ)數(shù)據(jù)類型詳解

    Swift教程之基礎(chǔ)數(shù)據(jù)類型詳解

    這篇文章主要介紹了Swift教程之基礎(chǔ)數(shù)據(jù)類型詳解,本文詳細(xì)講解了Swift中的基本數(shù)據(jù)類型和基本語法,例如常量和變量、注釋、分號(hào)、整數(shù)、數(shù)值類型轉(zhuǎn)換等...

    Swift教程網(wǎng)5162020-12-18
  • Swiftmac git xcrun error active developer path 錯(cuò)誤

    mac git xcrun error active developer path 錯(cuò)誤

    本文主要是講訴了如何解決在mac下使用git;xcode4.6的環(huán)境時(shí),出現(xiàn)了錯(cuò)誤(mac git xcrun error active developer path)的解決辦法,希望對(duì)大家有所幫助...

    Swift教程網(wǎng)2232020-12-16
  • SwiftSwift能代替Objective-C嗎?

    Swift能代替Objective-C嗎?

    這是我在網(wǎng)上上看到的答案,復(fù)制粘貼過來和大家分享一下,因?yàn)槲液秃芏嗳艘粯雍荜P(guān)心Swift的出現(xiàn)對(duì)Mac開發(fā)的影響和對(duì)Objective-C的影響。...

    Swift教程網(wǎng)4412020-12-16
  • SwiftSwift的74個(gè)常用內(nèi)置函數(shù)介紹

    Swift的74個(gè)常用內(nèi)置函數(shù)介紹

    這篇文章主要介紹了Swift的74個(gè)常用內(nèi)置函數(shù)介紹,這篇文章列舉出了所有的Swift庫(kù)函數(shù),內(nèi)置函數(shù)是指無需引入任何模塊即可以直接使用的函數(shù),需要的朋友可...

    Swift教程網(wǎng)5802020-12-19
  • SwiftSwift使用CollectionView實(shí)現(xiàn)廣告欄滑動(dòng)效果

    Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    Stevin的技術(shù)博客12372021-01-13
主站蜘蛛池模板: 天天骑夜夜操 | 99久久久精品免费观看国产 | 成人精品免费看 | 一级黄片毛片免费看 | 99爱精品在线 | www.48xx.com | 久久精品视频7 | 91精品国产777在线观看 | 欧美a视频在线观看 | 欧美一级成人一区二区三区 | 一级黄片毛片免费看 | 一级免费 | 国产亚洲精品久久久久久久久久 | 色婷婷久久久亚洲一区二区三区 | 日本a大片 | 欧美aⅴ视频 | 福利一区二区三区视频在线观看 | 亚洲国产精品久久久久制服红楼梦 | 免费在线观看成年人视频 | 调教小男生抽打尿孔嗯啊视频 | 91精品国产综合久久久动漫日韩 | 久久精品国产精品亚洲 | 国产精品免费一区二区三区四区 | 久久免费视频一区 | 亚洲精品久久久久久久久久久 | 成人黄色在线电影 | 成人免费一区二区 | 一级成人黄色片 | 久久国产成人精品国产成人亚洲 | 中文字幕偷拍 | 万圣街在线观看免费完整版 | 久久久久久中文字幕 | 日产精品久久久一区二区开放时间 | 久久蜜臀一区二区三区av | 91女上位 在线播放 bt 自拍 另类 综合 欧美 | 精品在线视频观看 | 国产亚洲综合一区二区 | 一级毛片在线免费观看 | 日本在线精品视频 | 国产午夜精品久久久久久久蜜臀 | 久久福利国产 |