文档章节

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

赵大财
 赵大财
发布于 2016/11/10 16:11
字数 268
阅读 94
收藏 0

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

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

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

字符串 转成 字典:

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

 

2016年11月29日 封装了一下

extension String  {
    
    var md5: String! {
        let str = self.cString(using: String.Encoding.utf8)
        let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8))
        let digestLen = Int(CC_MD5_DIGEST_LENGTH)
        let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)
        
        CC_MD5(str!, strLen, result)
        
        let hash = NSMutableString()
        for i in 0..<digestLen {
            hash.appendFormat("%02x", result[i])
        }
        
        result.deallocate(capacity: digestLen)
        
        return String(format: hash as String)
    }
    
    var toAny:Any! {
        guard let jsonData = self.data(using: .utf8) else {
            return nil
        }
        
        do {
            let any = try JSONSerialization.jsonObject(with: jsonData, options:JSONSerialization.ReadingOptions.mutableContainers)
            return any
        } catch  {
            return nil
        }
    }
    
}

////////////////////////////////////////////////////
extension NSArray {
    
    var toString:String! {
        do {
            let data = try JSONSerialization.data(withJSONObject: self, options: [])
            let str = String(data:data, encoding: String.Encoding.utf8)!
            return str
        } catch  {
            return ""
        }
     }
}

////////////////////////////////////////////////////
extension NSDictionary {
    
    var toString:String! {
        do {
            let data = try JSONSerialization.data(withJSONObject: self, options: [])
            let str = String(data:data, encoding: String.Encoding.utf8)!
            return str
        } catch  {
            return ""
        }
    }
    
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: linux 常用命令
赵大财
粉丝 22
博文 162
码字总数 38743
作品 0
长沙
私信 提问
swift3.0:字典转模型,JSON 转模型

Demo地址:https://github.com/CeeYang/3DTouch-Swift3.0 字典转模型扩展: eg:

CeeYang
2016/11/02
973
0
Swift3.0语言教程删除字符与处理字符编码

Swift3.0语言教程删除字符与处理字符编码 Swift3.0语言教程删除字符 Swift3.0语言教程删除字符与处理字符编码,在字符串中,如果开发者有不需要使用的字符,就可以将这些字符删除。在NSStrin...

大学霸
2016/11/17
86
1
Swift3.0语言教程获取C字符串

Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式后,获取C字符串,其语法形...

大学霸
2016/10/31
18
0
Swift3.0语言教程字符串与URL的数据转换与自由转换

Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以保存在文件中...

大学霸
2016/11/21
41
0
Python编程中常用的12种基础知识总结

Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重,字典排序,字典、列表、字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进...

ranvane
2015/10/10
88
0

没有更多内容

加载失败,请刷新页面

加载更多

HTTP 304状态码

客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified ...

Jack088
22分钟前
2
0
MyBatis学习笔记(二)

mybatis执行过程架构图 1、mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。 mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql...

梦想_与_现实
27分钟前
0
0
分布式锁简单入门以及三种实现方式介绍

分布式锁简单入门以及三种实现方式介绍

zbbmaster
37分钟前
2
0
PHP接收前端传值各种情况整理

PHP接收前端传值各种情况整理 服务端代码: header('Access-Control-Allow-Origin:*');var_dump($_POST);exit; 情况 1) 传null $.post('http://xxxxx.xx/index.php', { "test": null}......

SSSWIIILLL
今天
5
0
利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
今天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部