您好我的问题与json对象有关。我有这个链接“http://ip-api.com/json”,此链接提供了您的IP地址的详细信息。我只需要在swift 3中从这个json文件中打印IP地址。我很新可能是我的问题是基本但我需要一些帮助来整理我的项目。所以我已经完成了下面的工作。
let requestURL: NSURL = NSURL(string: "http://ip-api.com/json")!
let urlRequest: NSMutableURLRequest = NSMutableURLRequest(url: requestURL as URL)
let session = URLSession.shared
let task = session.dataTask(with: urlRequest as URLRequest) {
(data, response, error) -> Void in
let httpResponse = response as! HTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
print("Everyone is fine, file downloaded successfully.")
do{
let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String:AnyObject]
if let stations = json["city"] as? [[String: AnyObject]] {
for station in stations {
if let name = station["regionName"] as? String {
self.names.append(name)
print("this is query\(name)")
}
else{
print ("no ip address is found")
}
}
}
}
catch {
print("Error with Json: \(error)")
}
}
}
task.resume()
非常感谢提前。
答案 0 :(得分:1)
IP地址是JSON
顶层的密钥Setinterval
的值
query
在Swift 3中,JSON字典的类型为let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String:Any]
if let query = json["query"] as? String {
print(query)
}
PS:您不需要此任务的网址请求,直接传递网址并使用原生结构[String:Any]
(和URL
)
URLRequest