文档章节

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 ""
        }
    }
    
}

 

© 著作权归作者所有

共有 人打赏支持
赵大财
粉丝 21
博文 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
Swift3.0带来的变化汇总系列二——集合类型中的变化

Swift3.0带来的变化汇总系列二——集合类型中的变化 与字符串类似,Swift中集合的类型在3.0版本中也做了大量API上面的修改。 一、Array数组的更改 array数组中修改的API示例如下: 二、Set集...

珲少
2016/06/18
648
0

没有更多内容

加载失败,请刷新页面

加载更多

树莓派上安装 Nextcloud 云

# install docker and docker composesudo apt-get updatesudo apt-get install git docker-composecurl -sSL https://get.docker.com | sh# fetch projectcd ~git clone https://git......

How11
19分钟前
2
0
python 基本语法

布尔值:True False,操作符有 and, or, not; 常量通常使用大写表示,如PI = 3.14159265359; 除法操作符有 /, //, %,如 10 / 3 = 3.3333333333333335,10 // 3 = 3, 10 % 3 = 1; 在计算机内存中...

bug_404
20分钟前
1
0
centos 下安装 elastic search 启动的问题

正常步骤 1Download and unzip Elasticsearch 2 Run bin/elasticsearch 3 Run curl http://localhost:9200/ 异常信息: root 账户启动报错,Exception in thread "main" Java.lang.RuntimeE......

xiaomin0322
27分钟前
1
0
mysql_exceptions.OperationalError: 1054

错误:python连接Mysql错误:_mysql_exceptions.OperationalError: (1054, "Unknown column 'CVE' in 'field lis解决办法 注:要根据自己具体情况进行判断,可以 print sql % args,来判断该...

fang_faye
29分钟前
1
0
分布式数据库DDM Sidecar模式负载均衡

简介 1.分布式数据库中间件 DDM 分布式数据库中间件(Distributed Database Middleware)是解决数据库容量、性能瓶颈和分布式扩展问题的中间件服务,提供分库分表、读写分离、弹性扩容等能力...

中间件小哥
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部