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
            
        }
    

      

  • 相关阅读:
    使用mt_rand代替rand
    array_diff 不注意的坑
    stackoverflow 技术问答社区
    js检查浏览器是否处于隐身模式
    api数据接口
    图像识别api
    ionic creator(ionic生成器)
    商城金币设计
    details和summary标签
    iOS多线程编程之NSOperation的基本操作
  • 原文地址:https://www.cnblogs.com/jukaiit/p/9345654.html
Copyright © 2011-2022 走看看