【发布时间】:2019-09-09 12:31:53
【问题描述】:
我正在使用SwiftlyJSON 来解析 JSON。我的 JSON 看起来像这样
{
“data”:[{
“id”:123,
“locations”:[{
“lat”:345,
“long”:678
},{
“lat”:345,
“long”:678
}],
”live”:yes
},{
“id”:123,
“locations”:[{
“lat”:999,
“long”:324
},{
“lat”:865,
“long”:765
}],
”live”:no
}],
“success”:true,
“status”: 200
}
我想从“位置”中获取每个“纬度”和“经度”,将它们配对并显示在表格单元格中。
我在网络服务中的代码如下所示
private func updateSearchResults(_ data: Data) {
do {
let json = try JSON(data: data) //successfully parsed data
let locations = json["data"].arrayValue.map {$0["loactions"].arrayObject}
print(locations) //locations array is printing out correctly
for latlang in locations{
if let lat = latlang["lat"]{
print(lat) //ERROR here
}
}
} catch {
print(error)
}
}
错误描述:无法使用“String”类型的索引为“[Any]”类型的值下标
现在,我知道我无法通过在索引中提供字符串来访问位置数组的错误,但我不知道如何从 JSON 访问“lat”和“long”。任何帮助将不胜感激
【问题讨论】:
-
这一行看起来像错字
if let lat = latlang["late"]{不应该是"lat",去掉e? -
你得到的错误是什么?
-
是的,这是一个错字。更正问题并添加错误描述