在 Swift 中使用 NSSerialization.datawithJSON 2

Use NSSerialization.datawithJSON in Swift 2

一直试图让它在 Swift 2.0 中工作,错误说:

Type NSJSONWritingOptions cannot conform to protocol NilLiteralConvertible

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 ""
}
let options = prettyPrinted ? 
         NSJSONWritingOptions.PrettyPrinted : NSJSONWritingOptions(rawValue: 0)

是 swift 2.0

的正确语法

你也可以传递一个没有选项的空数组:

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