Swift JSON字符串和字典以及数组的互转
1、JSONString转换为字典
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // JSONString转换为字典 func getDictionaryFromJSONString ( jsonString : String ) - > NSDictionary { let jsonData : Data = jsonString . data ( using : . utf8 )! let dict = try ? JSONSerialization . jsonObject ( with : jsonData , options : . mutableContainers ) if dict != nil { return dict as ! NSDictionary } return NSDictionary () } |
2、JSONString转换为数组
1 2 3 4 5 6 7 8 9 10 11 | func getArrayFromJSONString ( jsonString : String ) - > NSArray { let jsonData : Data = jsonString . data ( using : . utf8 )! let array = try ? JSONSerialization . jsonObject ( with : jsonData , options : . mutableContainers ) if array != nil { return array as ! NSArray } return array as ! 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 */ func getJSONStringFromDictionary ( dictionary : NSDictionary ) - > String { if (! JSONSerialization . isValidJSONObject ( dictionary )) { print ( "无法解析出JSONString" ) return "" } let data : NSData ! = try ? JSONSerialization . data ( withJSONObject : dictionary , options : []) as NSData ! let JSONString = NSString ( data : data as Data , encoding : String . Encoding . utf8 . rawValue ) return JSONString ! as String } |
4、数组转换为JSONString
1 2 3 4 5 6 7 8 9 10 11 12 13 | //数组转json func getJSONStringFromArray ( array : NSArray ) - > String { if (! JSONSerialization . isValidJSONObject ( array )) { print ( "无法解析出JSONString" ) return "" } let data : NSData ! = try ? JSONSerialization . data ( withJSONObject : array , options : []) as NSData ! let JSONString = NSString ( data : data as Data , encoding : String . Encoding . utf8 . rawValue ) return JSONString ! as String } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决