Converting JSON to NSData, and NSData to JSON in Swift Converting JSON to NSData, and NSData to JSON in Swift xcode xcode

Converting JSON to NSData, and NSData to JSON in Swift


Here is code to convert between JSON and NSData in swift 2.0 (adapted from Shuo's answer)

// Convert from NSData to json objectfunc nsdataToJSON(data: NSData) -> AnyObject? {    do {        return try NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers)    } catch let myJSONError {        print(myJSONError)    }    return nil}// Convert from JSON to nsdatafunc jsonToNSData(json: AnyObject) -> NSData?{    do {        return try NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted)    } catch let myJSONError {        print(myJSONError)    }    return nil;}


In SwiftyJSON you can use rawData method to get NSData:

if let encryptedData:NSData = json["encryptedData"].rawData() {    NSLog(NSString(data: encryptedData, encoding: NSUTF8StringEncoding)!)}

To generate JSON as you want you should convert data to array object:

if let encryptedDataArray = JSON(data: encryptedData).arrayObject {    let jsonObject:JSON = [        "transactionID" : 12345,        "encryptedData" : encryptedDataArray    ]    NSLog(NSString(data: jsonObject.rawData()!, encoding: NSUTF8StringEncoding)!)}


I have no idea on SwiftyJSON. I use following code snippet to convert between json and nsdata

// Convert from NSData to json objectpublic class func nsdataToJSON(data: NSData) -> AnyObject? {    return NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: nil)}// Convert from JSON to nsdatapublic class func jsonToNSData(json: AnyObject) -> NSData?{    return NSJSONSerialization.dataWithJSONObject(json, options: .allZeros, error: nil)}