【发布时间】:2016-08-25 18:28:03
【问题描述】:
我有一个JSON 字符串,想从中获取一些值。我正在使用 SwiftyJSON 从 JSON 字符串中提取一些值。但不知道为什么我会从中得到空值。如何使用 SwiftyJSON 从这个 JSON 字符串中检索所有值,例如 version, ephemeralPublicKey, transactionId 等?
代码:
let decryptedPaymentData:NSString! = NSString(data: encryptedPaymentData, encoding: NSUTF8StringEncoding)
print("decryptedPaymentData = \(decryptedPaymentData)")
//extract values here
let decryptedJsonStr = JSON(decryptedPaymentData)
let version = decryptedJsonStr["version"].stringValue
print("version = \(version)")
输出:
decryptedPaymentData = {"version":"EC_v1",
"header":{
"ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1AhSWKm/KoXMmRU/dm825c8M3HZUYH/X8SH2zvzLgF9AN0ifWNH6KMLdRXhYSbnhVv0eDz+cJhf0I6o3oSc1bg==","publicKeyHash":"y9Gi+xcoSJjzegmkLQJ1KB7oehqavQom5EDwNCv+nHE=","transactionId":"7f83d3eff0de5d1313b6689d274d29dd7f71fe3763829f488ff4ac23a3dd40c5"}
}
version =
输出解决方案:
let decryptedJsonStr = JSON.parse(decryptedPaymentData as String)
let version = decryptedJsonStr["version"].stringValue
let epk = decryptedJsonStr["header"]["ephemeralPublicKey"].stringValue
print("version = \(version)")
print("epk = \(epk)")
version = EC_v1
epk=MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoyXCcna7anfdPXVJcRFF6+SOgCgCqRqcdx/p0YrTy3nUU1LQ977EwuddRvnHKi5WemLnWIf3AzPDGLMY1L2Pog==
【问题讨论】:
-
如果这对 roadfiresoftware.com/2015/10/how-to-parse-json-with-swift-2 没有帮助,请至少从 print() 函数发布并输出你得到的东西。
标签: json swift swifty-json