Use NSSerialization.datawithJSON in Swift 2

一个人想着一个人 提交于 2019-11-30 05:23:57

问题


Been trying to get this to work in Swift 2.0, the error says:

Type NSJSONWritingOptions cannot conform to protocol NilLiteralConvertible

at var options = prettyPrinted...:

func JSONStringify(value: AnyObject,prettyPrinted:Bool = false) -> String {

    var options = prettyPrinted ? NSJSONWritingOptions.PrettyPrinted : nil

    if NSJSONSerialization.isValidJSONObject(value) {
        do{
            let data = try NSJSONSerialization.dataWithJSONObject(value, options: options)
            if let string = NSString(data: data, encoding: NSUTF8StringEncoding) {
                return string as String
            }
        } catch {

        }
    }
    return ""
}

回答1:


let options = prettyPrinted ? 
         NSJSONWritingOptions.PrettyPrinted : NSJSONWritingOptions(rawValue: 0)

is the right syntax for swift 2.0




回答2:


You can also pass an empty array for no options:

let options:NSJSONWritingOptions = prettyPrinted ? .PrettyPrinted : []


来源:https://stackoverflow.com/questions/30920766/use-nsserialization-datawithjson-in-swift-2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!