swift3.0 字典 <-互转-> 字符串

前端之家收集整理的这篇文章主要介绍了swift3.0 字典 <-互转-> 字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

贡献者:赵大财
博客:https://my.oschina.net/zhaodacai
GitHub:https://github.com/zhaodacai

字典 转成 字符串: 下面有写好的扩展你可以直接使用

  1. var dictionary = [[String:Any]]()
  2. let dict1 = ["age":"22","ddd":"gg"]
  3. let dict2 = ["age":"33","w":""]
  4. dictionary.append(dict1)
  5. dictionary.append(dict2)
  6. let data = try? JSONSerialization.data(withJSONObject: dictionary,options: [])
  7. let str = String(data:data!,encoding: String.Encoding.utf8)!
  8. print(str )

字符串 转成 字典:

  1. let json:String = (CHUser.shareInstance.userInfo?.tag_data)!
  2. //json = json.replacingOccurrences(of: "/",with: "") //加上这句直接打印可中文
  3. guard let jsonData = json.data(using: .utf8) else {
  4. return
  5. }
  6. do {
  7. let dict = try JSONSerialization.jsonObject(with: jsonData,options:JSONSerialization.ReadingOptions.mutableContainers)
  8. print(dict)
  9. } catch {
  10. print("失败")
  11. }

2016年11月29日 封装了一下

  1. extension String {
  2. var md5: String! {
  3. let str = self.cString(using: String.Encoding.utf8)
  4. let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8))
  5. let digestLen = Int(CC_MD5_DIGEST_LENGTH)
  6. let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)
  7. CC_MD5(str!,strLen,result)
  8. let hash = NSMutableString()
  9. for i in 0..<digestLen {
  10. hash.appendFormat("%02x",result[i])
  11. }
  12. result.deallocate(capacity: digestLen)
  13. return String(format: hash as String)
  14. }
  15. var toAny:Any! {
  16. guard let jsonData = self.data(using: .utf8) else {
  17. return nil
  18. }
  19. do {
  20. let any = try JSONSerialization.jsonObject(with: jsonData,options:JSONSerialization.ReadingOptions.mutableContainers)
  21. return any
  22. } catch {
  23. return nil
  24. }
  25. }
  26. }
  27.  
  28. ////////////////////////////////////////////////////
  29. extension NSArray {
  30. var toString:String! {
  31. do {
  32. let data = try JSONSerialization.data(withJSONObject: self,options: [])
  33. let str = String(data:data,encoding: String.Encoding.utf8)!
  34. return str
  35. } catch {
  36. return ""
  37. }
  38. }
  39. }
  40.  
  41. ////////////////////////////////////////////////////
  42. extension NSDictionary {
  43. var toString:String! {
  44. do {
  45. let data = try JSONSerialization.data(withJSONObject: self,encoding: String.Encoding.utf8)!
  46. return str
  47. } catch {
  48. return ""
  49. }
  50. }
  51. }

猜你在找的Swift相关文章