如何检查在SWIFT中使用json数据填充的NSArray中是否存在密钥?
我正在尝试解析这个json响应如何检查在SWIFT中使用json数据填充的NSArray中是否存在密钥?,json,swift,nsjsonserialization,Json,Swift,Nsjsonserialization,我正在尝试解析这个json响应 account = ( { accountName = "Complete Access"; accountNumber = "062005 1709 5888"; available = "226.76"; balance = "246.76"; } ); var account : NSArray = js
account = (
{
accountName = "Complete Access";
accountNumber = "062005 1709 5888";
available = "226.76";
balance = "246.76";
}
);
var account : NSArray = jsonResult.valueForKey("account") as NSArray
现在,这个数组包含键“account”的所有值。在这个数组中,我们如何检查它是否包含键“balance”。我尝试按如下方式检查它:
if account .containsObject(account(idx).valueForKey(“balance"))
{
transactions.balance = account(idx).valueForKey(“balance”) as? String
}
但是,它从未进入if条件。请找到实现这一目标的正确方法。类似的内容可能会对您有所帮助:
let keyAccount: String = "account"
let keyBalance: String = "balance"
var jsonResult : Dictionary<String, AnyObject> = ["account":[["accountName":"Complete Access", "accountNumber":"062005 1709 5888", "available":"226.76", "balance":"246.76"]]]
var account : AnyObject? = jsonResult[keyAccount]
if let accountArray: Array<AnyObject>? = account as? Array {
if accountArray!.count > 0 {
if let accountDictionary: Dictionary<String, String>? = accountArray![0] as? Dictionary {
if let balanceValue: String? = accountDictionary![keyBalance] {
println("\(balanceValue)")
}
}
}
}
你能说得更具体一点吗?如果你给出的JSON响应不是有效的JSON,它就不会进入循环。它只是JSON响应的一部分。我已经更新了我的答案,因为我没有首先发现数组。