新しいバージョンのポケモンAPIのJSONデータ、特に "防御"と "攻撃"の値を解析する際に問題があります。それは簡単だったポケモンのAPI v1のではこのJSONポケモン辞書を解析するにはどうすればよいですか? (swift 3)
...ポケモンAPI v2ので
//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)
私は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)
私はどのように解析し、 「防衛」の価値は正しくありますか?あなたはその値を取得し、それがdefense
かattack
でチェックする必要がありますする必要がありますので、ごJSON
キーname
とdefense
& attack
は、その値がありましたif name = stat["defense"] {
今すぐ使用できますか? –
初心者の方にも分かりやすい、簡単で分かりやすい答えです。ありがとうございます。 – Rurom
正直なところ、両方の答えを受け入れるのは、どちらも自分の好きな方法であり、それは不可能だということは残念です。 – Rurom