作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Google map API 运行良好,我收到了适当的 JSON 响应。但是,我在解析错综复杂的 JSON 响应以获得我需要的特定信息(例如位置名称)时遇到了麻烦。我基本上浏览了所有我能找到的 YouTube 教程和在线帖子,但没有任何帮助。我已包含我正在使用的当前代码以及概述我收到的 JSON 响应的文档的链接。任何帮助将不胜感激!
https://developers.google.com/places/web-service/search#nearby-search-and-text-search-responses
func nearbyLocations(latitude: Double, longitude: Double) {
let jsonUrlString = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=\(latitude),\(longitude)&radius=25&key=..."
guard let url = URL(string: jsonUrlString) else { return }
URLSession.shared.dataTask(with: url) { (data, respone, err) in
guard let data = data else { return }
do {
guard let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] else { return }
print(json)
} catch let jsonErr {
print("json error:", jsonErr)
}
}.resume()
}
最佳答案
您可以像这样解析正常:
if let results = json["results"] as! [[String:Any]], let firstResult = results.first {
let geometry = firstResult["geometry"] as! [String:Any]
let location = geometry["location"] as! [String:Any]
let lat = location["lat"] as! Double
let lng = location["lng"] as! Double
}
关于json - 如何在 Swift/Xcode 中从 Google Places API 解析 JSON "nearby search response",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56831108/
我是一名优秀的程序员,十分优秀!