字典的数组的我想获得的数据进行嵌套字典的数组,它是一个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