I'm having problems converting a JSON
element into NSData
, and an NSData
variable back into JSON
in Swift.
Firstly, I'd like to extract the encryptedData
element of the following JSON data:
{
"transactionID" : 12345,
"encryptedData" : [-67,51,-38,61,-72,102,48]
}
into an NSData encryptedData
variable but can't seem to be able to do it. I'm using SwiftyJSON
to parse the JSON
as follows:
let list: Array<JSON> = json["encryptedData"].arrayValue!
But this gives me an array of ScalarNumber which I don't know how to store into an NSData
object.
Secondly, I'd like to generate JSON
back from the same NSData
object:
let jsonObject = [
"transactionID" : 12345,
"encryptedData" : encryptedData
]
But the NSData encryptedData
object doesn't get converted into [-67,51,-38,61,-72,102,48], it just seems to nullify the JSON string.
Any ideas?
In SwiftyJSON you can use rawData method to get NSData:
To generate JSON as you want you should convert data to array object:
I have no idea on SwiftyJSON. I use following code snippet to convert between json and nsdata
Here is code to convert between JSON and NSData in swift 2.0 (adapted from Shuo's answer)
@Sunil Targe here is the Swift3 version. Hope this helps. (Adapted from Ciprian Rarau's answer)
Convert data to JSON
Convert from JSON to data
Swift 4 that works for me: