【发布时间】:2016-12-03 06:40:48
【问题描述】:
我在解析来自新版 Pokemon API 的 JSON 数据时遇到问题,特别是“防御”和“攻击”的值。
在 Pokemon API v1 中这很容易......
//JSON:
"attack": 45,
"defense": 65
//After parsing in Alamofire i'm got the next solution:
if let dict = response.result.value as? Dictionary<String, AnyObject> {
if let attack = dict["attack"] as? Int {
self._attack = attack
}
if let defense = dict["defense"] as? Int {
self._defense = defense
}
print(self._attack)
print(self._defense)
在 Pokemon API v2 我有 JSON 格式的问题:
//JSON:
"stats": [
{
"stat": {
"url": "http://pokeapi.co/api/v2/stat/3/",
"name": "defense"
},
"effort": 0,
"base_stat": 45
},
{
"stat": {
"url": "http://pokeapi.co/api/v2/stat/2/",
"name": "attack"
},
"effort": 0,
"base_stat": 65
}
]
我试过这个选项,但它不起作用:
if let stats = dict["stats"] as? [Dictionary<String, AnyObject>], stats.count > 0 {
if let stat = stats[0]["stat"] as? Dictionary<String, String>{
if name = stat["defense"] {
if let defense = stats[0]["base_stat"] as? Int {
self._defense = defense
}
}
}
}
print(self._defense)
请指教,如何正确解析并获取“防御”的值?
【问题讨论】:
标签: json parsing dictionary swift3