zoukankan      html  css  js  c++  java
  • Swift JSON字符串和字典以及数组的互转

    1、JSONString转换为字典

        // 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转换为数组

    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

    /**
         字典转换为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

        //数组转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
            
        }
    

      

  • 相关阅读:
    HelloWorld
    CSS盒子模型
    CSS选择器
    Win右键管理员权限的获取
    本地存储
    python模块以及导入出现ImportError: No module named 'xxx'问题
    python pexpect 学习与探索
    VI查找与替换
    python 中__name__ = '__main__' 的作用
    python 脚本传递参数
  • 原文地址:https://www.cnblogs.com/jukaiit/p/9345654.html
Copyright © 2011-2022 走看看