循环解析数组

时间:2017-06-20 07:24:25

标签: ios swift alamofire swifty-json

我试图循环解析数组,数组名称是url,其中每个元素包含id,label和size,这里是显示数组的图片

the array I'm trying to parse

我能够遍历数组,但我想要做的是始终访问urls数组中的第一个id

    Alamofire.request("\(saveItLink)\(requestedLink)\(requestType)", method: .get, parameters: nil, encoding: JSONEncoding.default).responseJSON { response in
        switch response.result {
        case .success(let value):
            let json = JSON(value)

            let jsonArray = json["urls"].array
            for ids in jsonArray!{
                let id = ids["id"].stringValue
                print(ids["id"].stringValue)

            }
            //print("JSON: \(json)")
        case .failure(let error):
            print(error)

        }

这是打印在consol中的内容

parsed data

我如何始终访问urls数组的第一个元素?以及如何将值单独保存为字符串值?

1 个答案:

答案 0 :(得分:1)

好吧,多亏了SwiftyJSON,您可以轻松获得这样的价值:

let firstId = json["urls"][0]["id"].stringValue

您还没有提到要保存值的位置,但您只需使用UserDefaults即可。 E.g:

UserDefaults.standard.set(firstId, forKey: "your_key_for_accessing_the_value")

另外,我建议您检查值是否为空:

let firstId = json["urls"][0]["id"].stringValue
if !firstId.isEmpty {
   UserDefaults.standard.set(firstId, forKey: "your_key_for_accessing_the_value")
} else {
   debugPrint("Id is empty")
}