- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有处理位置数据的代码,因此我可以提取可以匿名化数据的详细信息——例如,如果我的地点 API 说它是 _type:“Building”和 building:“Safeway”——我可以保存数据作为纬度/经度的 md5:“safeway”,并且在检查我的位置数据时所有 safeways 看起来都一样。这也是我想要的。
static func getLocationData(location: CLLocation, _ callback: @escaping (CLLocation?) -> Void) {
let parameters = [
"q": location.coordinate.latitude.description + "," + location.coordinate.longitude.description,
"key": Places.OPENCAGEDATA_API_KEY
]
AF.request(Places.uri, method: .get, parameters: parameters, encoding: URLEncoding(destination: .queryString)).responseJSON { response in
switch response.result {
case .success(let json):
print(json)
DispatchQueue.main.async {
callback(location)
}
case .failure(let error):
print(error)
callback(nil)
}
}
}
如我所见,此交易有效:
{
documentation = "https://opencagedata.com/api";
licenses = (
{
name = "CC-BY-SA";
url = "https://creativecommons.org/licenses/by-sa/3.0/";
},
{
name = ODbL;
url = "https://opendatacommons.org/licenses/odbl/summary/";
}
);
rate = {
limit = 2500;
remaining = 2496;
reset = 1556150400;
};
results = (
{
annotations = {
DMS = {
lat = "MYLAT N";
lng = "MYLONG W";
};
FIPS = ...
但现在 json 只是一种恰好打印得很好的 Any 类型。例如,我如何获得 json.results.annotations.DMS.lat
?
最佳答案
你可以试试
if let res = json as? [String: Any]{
if let inner = res["results"] as? [[String: Any]] {
for item in inner {
if let ert = item["annotations"] as? [[String: Any]] {
for ann in ert {
print(ann["lat"])
}
}
}
}
}
你也可以做
struct Root: Codable {
let results: [DataClass]
}
struct DataClass: Codable {
let annotations: [Anno]
}
struct Anno: Codable {
let lat:Double // or String as in your question it's a String IDN if this is a description
}
do {
guard let data = try JSONSerialization.data(withJSONObject: json, options: []) else { return }
let locationObject = try JSONDecoder().decode(Root.self, from:data)
} catch {
print(error)
}
关于swift - 从 AF responseJSON 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55831439/
我以 JSON 格式从 Python Flask 发送数据。我能够获取数据,并在本地托管页面 http://127.0.0.1:5000/ 上的检查器中使用 for 循环。但是,当我将相同的 Java
在我的 javascript 文件中,我注意到我的问题出现在 JS 文件的第 19、30 和 35 行。我可以让 responseJson 在 getUserRepos() 函数中登录到控制台,但是如
这是我从我的 API 获取 JSON 数据的代码。我想做的是在我的 Flatlist 中打印各种药物的名称,然后使该对象可点击,这样我就可以在下一页上显示有关它的更多信息。我可以正确接收 JSON 数
我正在使用 Alamofire 尝试使用 image shack API 将图像放在图像棚服务器上。我没有收到回复并收到错误: FAILURE: Error Domain=NSCocoaErrorDo
我想限制 12 个帖子,只显示 post_featured 键值为 1 的精选帖子 componentDidMount() { return fetch(ConfigApp.URL+'json/
我正忙于研究为 Swift 创建的 Alamofire 网络库。我遇到过 responseJSON 函数: public func responseJSON( queue queue:
我正在使用 AlamoFire 调用我的网络服务: ApiManager.manager.request(.GET, webServiceCallUrl, parameters: ["id": 12
我正在尝试在我的应用程序中全局处理所有 ajax 异常。 我有一个简单的验证异常,在 ajax post 请求发送到服务器后抛出。 if (string.IsNullOrEmpty(name)) {
我有这种方法可以联系我的 REST 网络服务。我想在连接失败时生成异常。Xcode 告诉我不能使用函数 throw VendingMachineError.InvalidSelection 因为 me
鉴于以下情况: $(function() { function getTopMod(e) { var requesturl = '/r/lol/about/moderators
我正在开发一个小型网络框架来运行 HCI 研究并遇到以下问题: 我有一个运行 express 的 Node 服务器,用于从 JSON 文件为我的本地主机数据提供服务。不是最好的数据库,但由于它是一个单
我将 sessionManager.request 与 .validate().responseJSON 一起使用 是否可以在将响应传递给 responseJSON 之前修改我从服务器获得的响应?我需
( swift 2.2,Alamofire 3.0) 我有一个相当复杂的错误/状态检查协议(protocol),我在我的许多 REST 调用之后应用它,我自然希望重新使用此代码。 Alamofire.
我有处理位置数据的代码,因此我可以提取可以匿名化数据的详细信息——例如,如果我的地点 API 说它是 _type:“Building”和 building:“Safeway”——我可以保存数据作为纬度
Alamofire.request(todoEndpoint) .responseJSON { response in switch response.resu
我正在使用 alamofire 上传图片。这是注册 API,您可以在其中使用个人资料照片进行注册(这是我必须上传的内容) 所以我的代码是这样的(我将用另一个代码替换 print(JSON);这只是为了
注意:我需要使用 ObjectMapper,而不是 AlamoFireObjectMapper。 如何不去JSON而是从responseJSON数据映射到User?以下是尝试从 responseJSO
我有以下代码来获取对评论列表的回复。 (1条评论多条回复) static func fetchCommentsAndTheirReplies(articleId: String, failure: (
我正在尝试在 javascript 中解析一个 bit.ly JSON 响应。 我通过 XmlHttpRequest 获取 JSON。 var req = new XMLHttpRequest; r
我是 Swift 新手,我正在尝试升级一些旧的 Swift 代码。我收到以下警告: 'responseJSON(queue:dataPreprocessor:emptyResponseCodes:em
我是一名优秀的程序员,十分优秀!