我是解析JSON并使用Restful API的新手。 Whatevs,我一直在寻找这个问题,我找到了很多。但我无法理解。
我要解析的JSON是:http://jsonplaceholder.typicode.com/users
guard let url = URL(string: "http://jsonplaceholder.typicode.com/users/") else {return}
let session = URLSession.shared
session.dataTask(with: url) { (data, response, error) in
if error != nil {
print(error ?? "")
}
if data != nil {
do{
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableLeaves)
guard let idk = json as? [Dictionary<String, Any>] else {return}
print(idk)
}
catch{
print(error)
}
}
}.resume()
我来到这里,我无法继续前进。例如,我想要达到ID,名称和用户名,但我不知道该怎么做。我想知道如果我想深入了解地址字典怎么办?
答案 0 :(得分:3)
这是一个如何读取数据的示例:
for data: Dictionary<String, Any> in idk{
if let address = data["address"] as? Dictionary<String, Any>{
//here the data in address: { .. } is available
//for example
print(address["city"] ?? "")
}
//or id
print(data["id"] ?? "")
//username
print(data["username"] ?? "")
}
答案 1 :(得分:1)
Alper,为什么不使用SwiftyJSON来执行此操作。下载可可豆荚并按照其Github页面上的说明进行操作:https://github.com/SwiftyJSON/SwiftyJSON
解析然后变得非常简单。看起来在Swift 4中,JSON处理得更好,并且不需要像SwiftyJSON这样的库。