加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:37:59 所属栏目:百科 来源:网络整理
导读:贡献者:赵大财 博客: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":""]

贡献者:赵大财
博客: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,encoding: String.Encoding.utf8)!
            return str
        } catch  {
            return ""
        }
    }
    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读