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
            
        }
    

      

  • 相关阅读:
    Finding Action Tubes
    Modeling Video Evolution For Action Recognition
    GBrank_问题列表
    annotation code for human pose estimation
    什么是 kNN 算法?
    什么是强化学习?
    什么是张量?
    什么是遗传/进化算法?
    什么是贝叶斯网络?
    什么是机器学习?
  • 原文地址:https://www.cnblogs.com/jukaiit/p/9345654.html
Copyright © 2011-2022 走看看