字典的數組的我想獲得的數據進行嵌套字典的數組,它是一個JSON響應的結果。獲取數據了從JSON響應
func fetchData() {
let urlString = "https://global.api.pvp.net/api/lol/static-data/na/v1.2/champion?api_key=\(self.apiKey)"
let url = URL(string: urlString)
URLSession.shared.dataTask(with:url!) { (data, response, error) in
if error != nil {
print(error ?? "ERROR!")
} else {
do {
let parsedData = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
print(parsedData)
print(parsedData["type"] ?? "")
print(parsedData["version"] ?? "")
print(type(of: parsedData))
print(type(of: parsedData["data"]!))
//ERROR HERE.
//"Cannot subscript a value of type '[String, Any]' with an index of type '(String, (String, Any).Type)'
let innerItem = parsedData["Aatrox", (String, Any)]
} catch let error as NSError {
print(error)
}
}
}.resume()
這裏是打印的內容:
["type": champion, "version": 7.4.3, "data": {
Aatrox = {
id = 266;
key = Aatrox;
name = Aatrox;
title = "the Darkin Blade";
};
Ahri = {
id = 103;
key = Ahri;
name = Ahri;
title = "the Nine-Tailed Fox";
};
Akali = {
id = 84;
key = Akali;
name = Akali;
title = "the Fist of Shadow";
};
Alistar = {
id = 12;
key = Alistar;
name = Alistar;
title = "the Minotaur";
};
}]
champion
7.4.3
Dictionary<String, Any>
__NSDictionaryI
我試圖獲得 「ID」 爲 「Aatrox」。
我怎麼會去這樣做?
是否因爲parsedData [「data」]的類型!是__NSDictionaryI?
感謝您的幫助。
謝謝!那工作。 – Changerrs
@Changerrs歡迎隊友:)你也可以遍歷passDic來訪問所有的嵌套字典。 –
感謝brotha,我不是告知解析編譯器[「數據」]的類型(不知道正確的IM說這句話)[字符串:任何]的。這是我失蹤的部分。 – Changerrs