gpt4 book ai didi

arrays - 如何从嵌套数组返回值 - swift 3

转载 作者:行者123 更新时间:2023-11-28 16:05:51 25 4
gpt4 key购买 nike

我的 api 查询在一个数组中返回几个值(如下所示),我需要将其用于进一步的功能。如何检索嵌套的值 60?

我的代码例如 let uid = value["uid"] as? String 可以很好地返回 uid 和名称。但是对于 let rest = value["field_resting_bpm"] as? String 它返回 nil。

如何更正此行以返回嵌套值“60”?:

 let rest = value["field_resting_bpm"] as? String'

api查询是:

    let credentialData = "\(user):\(password)".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions([])
let headers = ["Authorization": "Basic \(base64Credentials)"]

var checkUserEndpoint: String = "https://example.site/ios1/user/1.json "

   Alamofire.request(.GET, checkUserEndpoint, parameters: nil, headers: headers, encoding: .JSON)
.responseJSON { response in
guard response.result.error == nil else {
print("ran alamofire")
//got an error in getting the data, need to handle it
print("error calling GET")
print(response.result.error!)
return
}

guard let value = response.result.value else {
print("no result data received when calling GET")
return
}
// return UID
print("ran alamofire")
var datareturned = JSON(value)
print("VALUE: \(value)")

它在我的控制台中返回这个:

 uid = 1;
name = "Guest User";
"field_resting_bpm" = {
und = (
{
value = 60;
}
);

更新:该字段在 Drupal 用户帐户设置中是一个整数。我添加了一个文本字段(因此它应该返回一个字符串),名为 field_rest_bpm_string,也用于测试

网站上的json返回:

"field_resting_bpm":{"und":[{"value":"60"}]},"field_rest_bpm_string":{"und":[{"value":"65","format":null, “安全值”:“65”}]}

最佳答案

注意:代码在 Swift 3 中,但您可以在 swift 2 中轻松转换它。SwiftyJSON 版本代码在 2 和 3 中是相同的。

如果你使用 SwiftyJSON 那么事情就简单多了

let value = datareturned["field_resting_bpm"]["und"][0]["value"].stringValue
print(value)

如果你没有使用 SwiftyJSON

let rest = value["field_resting_bpm"] as? NSDictionary
let und = (rest?.value(forKey: "und") as! NSArray).object(at: 0) as! NSDictionary
let yourValue = und.value(forKey: "value") as! String

像这样。

关于arrays - 如何从嵌套数组返回值 - swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40298270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com