在Swift中将JSON转换为NSData和将NSData转换为JSON

我在Swift 中将JSON元素转换为NSData,然后将NSData变量转换回时遇到了问题JSON

首先,我想提取encryptedData以下JSON数据的元素:

{

"transactionID" : 12345,

"encryptedData" : [-67,51,-38,61,-72,102,48]

}

放入NSData encryptedData变量,但似乎无法做到这一点。我SwiftyJSON用来解析JSON如下:

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)!)

}

以上是 在Swift中将JSON转换为NSData和将NSData转换为JSON 的全部内容, 来源链接: utcz.com/qa/404967.html

回到顶部