在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

