我在Swift 中将JSON元素转换为NSData,然后将NSData变量转换回时遇到了问题JSON。
JSON
NSData
首先,我想提取encryptedData以下JSON数据的元素:
encryptedData
{ "transactionID" : 12345, "encryptedData" : [-67,51,-38,61,-72,102,48] }
放入NSData encryptedData变量,但似乎无法做到这一点。我SwiftyJSON用来解析JSON如下:
SwiftyJSON
let list: Array<JSON> = json["encryptedData"].arrayValue!
但这给了我一个ScalarNumber数组,我不知道如何存储到一个NSData对象中。
其次,我想JSON从同一个NSData对象生成回来:
let jsonObject = [ "transactionID" : 12345, "encryptedData" : encryptedData ]
但是NSData encryptedData对象不会转换为[-67,51,-38,61,-72,102,48],它只是使JSON字符串无效。
有任何想法吗?
在SwiftyJSON中,您可以使用rawData方法获取NSData:
if let encryptedData:NSData = json["encryptedData"].rawData() { NSLog(NSString(data: encryptedData, encoding: NSUTF8StringEncoding)!) }
要根据需要生成JSON,应将数据转换为数组对象:
if let encryptedDataArray = JSON(data: encryptedData).arrayObject { let jsonObject:JSON = [ "transactionID" : 12345, "encryptedData" : encryptedDataArray ] NSLog(NSString(data: jsonObject.rawData()!, encoding: NSUTF8StringEncoding)!) }