Я хочу проанализировать следующее JSON , чтобы получить идентификатор случайной статьи из API Википедии и использовать его в Swift:
{
"batchcomplete": "",
"continue": {
"rncontinue": "0.067678657404|0.067678667039|13394072|0",
"continue": "-||"
},
"query": {
"random": [
{
"id": 34538560,
"ns": 3,
"title": "User talk:59.188.42.121"
}
]
}
}
Я хочу иметь возможностьполучить доступ к значениям "id"
и "title"
из него, и в настоящее время у меня есть следующее для доступа к "query"
:
let url = URL(string: "https://en.wikipedia.org/w/api.php?action=query&list=random&rnlimit=1&format=json")
URLSession.shared.dataTask(with: url!) { (data, response, err) in
guard let data = data else { return }
if err != nil {
print(err!)
} else {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? NSDictionary
if let result = json! as? [String: AnyObject] {
if let result = result["query"]! as? [String: AnyObject] {
print(result)
}
}
} catch {
print("Error")
}
}
}.resume()
Прямо сейчас приведение типа вниз не является чем-то, чем я горжусьделать, и это очень запутанно очень быстро.Я также однажды попробовал приведение типов, выполнив что-то вроде следующего, но безрезультатно:
[String: [String: [String:AnyObject]]]
Есть ли лучший способ получить доступ к этим значениям?Любая помощь будет принята с благодарностью!