在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