0
的索引值檢索JSON我有一個JSON文件與斯威夫特3
"result": {
"28086259": {
"uid": "28266107",
"pubdate": "2017 Jan 13",
"epubdate": "2017 Jan 13",
}
"28238810": {
"uid": "28238810",
"pubdate": "2017 Feb 23",
"epubdate": "2017 Feb 23",
}
,我試圖訪問使用自己的代碼即28266107.我可以用下面的代碼單獨訪問值的每個對象。 idList包含所有uid的列表。
let parsedResult = try? JSONSerialization.jsonObject(with: data, options: [])
as! NSDictionary
guard let results = parsedResult!["result"] as? [String:AnyObject] else {
print("There was an error at result")
return
}
guard let id = results["\(self.idList[0])"] as? [String:AnyObject] else {
print(error.debugDescription as Any)
print("There was an error at id")
return
}
但是如果我嘗試創建一個for循環來解析uid到結果參數中,guard語句失敗。
for (index, element) in self.idList.enumerated() {
guard let id = results["\(element)"] as? [String:AnyObject] else {
print(error.debugDescription as Any)
print("Element at index \(element)")
print("There was an error at id")
return
}
}
保護失敗時元素的值是28266107,這是列表中的第一個值。
我不明白爲什麼通過guard語句循環會成功,如果idList數組值設置爲0,但如果它設置爲索引的值將失敗。特別是當指標值完全相同時。
現在工作嗎? –
是的,它的工作。你的解決方案實際上允許我隔離阻止我的代碼工作的問題。非常感謝! –