我试图循环解析数组,数组名称是url,其中每个元素包含id,label和size,这里是显示数组的图片
我能够遍历数组,但我想要做的是始终访问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中的内容
我如何始终访问urls数组的第一个元素?以及如何将值单独保存为字符串值?
答案 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")
}