我是Swift的新手,正在嘗試編寫一個應用程序來解析網頁中的json。但我得到的錯誤 「不能下標值的類型'[Dictionary]'」不能下標值的類型 - Swift 3
我該如何解決這個問題?它發生多次。以下是我的代碼。謝謝!
func grabData(results: [Dictionary<String, Any?>]){
guard let resultList = results as? [Dictionary<String, Any?>] else { return }
for iResult in resultList {
var tempResult = SearchResult()
tempResult.studentId = self.getInt(dict: [iResult], string: "StudentId")
tempResult.LastName = self.getString(dict: [iResult], string: "LastName")
tempResult.FirstName = self.getString(dict: [iResult], string: "FirstName")
tempResult.Major = self.getString(dict: [iResult], string: "Major")
tempResult.Year = self.getString(dict: [iResult], string: "Year")
tempResult.GPA = self.getDouble(dict: [iResult], string: "GPA")
self.results.append(tempResult)
}
DispatchQueue.main.async {
self.listTableView.reloadData()
}
}
func getString(dict: [Dictionary<String, Any?>], string: String) -> String? {
if let result = dict[Dictionary<String, Any?>] as? String {
return result
}
return nil
}
func getInt(dict: [Dictionary<String, Any?>], string: String) -> Int? {
if let result = dict[string] as? Int {
return result
}
return nil
}
func getDouble(dict: [Dictionary<String, Any?>], string: String) -> Double? {
if let result = dict[string] as? Double {
return result
}
return nil
}
您可能想要使用庫來解析JSON,這會讓您的生活變得非常簡單......我寫了一個可在https://github.com/borchero/WebParsing上找到的庫。 – borchero
避免在Swift詞典中聲明可選的值類型。他們不是很有意義。 – vadian