Swift JSON字符串和字典以及数组的互转 Swift JSON字符串和字典以及数组的互转

https://www.cnblogs.com/jukaiit/p/9345654.html

1、JSONString转换为字典

1

2

3

4

5

6

7

8

9

10

11

12

13

14

// JSONString转换为字典

funcgetDictionaryFromJSONString(jsonString:String) ->NSDictionary{

letjsonData:Data=jsonString.data(using: .utf8)!

letdict=try?JSONSerialization.jsonObject(with:jsonData,options: .mutableContainers)

ifdict!=nil{

returndictas!NSDictionary

}

returnNSDictionary()

}

2、JSONString转换为数组

1

2

3

4

5

6

7

8

9

10

11

funcgetArrayFromJSONString(jsonString:String) ->NSArray{

letjsonData:Data=jsonString.data(using: .utf8)!

letarray=try?JSONSerialization.jsonObject(with:jsonData,options: .mutableContainers)

ifarray!=nil{

returnarrayas!NSArray

}

returnarrayas!NSArray

}

  

3、字典转换为JSONString

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/**

字典转换为JSONString

- parameter dictionary: 字典参数

- returns: JSONString

*/

funcgetJSONStringFromDictionary(dictionary:NSDictionary) ->String{

if(!JSONSerialization.isValidJSONObject(dictionary)) {

print("无法解析出JSONString")

return""

}

letdata:NSData! =try?JSONSerialization.data(withJSONObject:dictionary,options: [])asNSData!

letJSONString=NSString(data:dataasData,encoding:String.Encoding.utf8.rawValue)

returnJSONString!asString

}

 

4、数组转换为JSONString

1

2

3

4

5

6

7

8

9

10

11

12

13

//数组转json

funcgetJSONStringFromArray(array:NSArray) ->String{

if(!JSONSerialization.isValidJSONObject(array)) {

print("无法解析出JSONString")

return""

}

letdata:NSData! =try?JSONSerialization.data(withJSONObject:array,options: [])asNSData!

letJSONString=NSString(data:dataasData,encoding:String.Encoding.utf8.rawValue)

returnJSONString!asString

}