使用 swift 3 从谷歌地图获取 JSON 数据
Posted
技术标签:
【中文标题】使用 swift 3 从谷歌地图获取 JSON 数据【英文标题】:Getting JSON data from google maps with swift 3 【发布时间】:2016-10-15 16:21:38 【问题描述】:我目前正在使用带有 JSON 的 google maps 数据的 ios swift 3 应用程序项目,但是当我开始编译时,我无法获得 ["results"] 的值:
if let results = dic["results"] as? JSONDictionary
print(results)
虽然 dict 包含以下内容:
["results": <__NSSingleObjectArrayI 0x155d73c0>(
"address_components" = (
"long_name" = Paris;
"short_name" = Paris;
types = (
locality,
political
);
,
"long_name" = Paris;
"short_name" = Paris;
types = (
"administrative_area_level_2",
political
);
,
"long_name" = "\U00cele-de-France";
"short_name" = "\U00cele-de-France";
types = (
"administrative_area_level_1",
political
);
,
"long_name" = France;
"short_name" = FR;
types = (
country,
political
);
);
"formatted_address" = "Paris, France";
geometry =
bounds =
northeast =
lat = "48.9021449";
lng = "2.4699209";
;
southwest =
lat = "48.815573";
lng = "2.225193";
;
;
location =
lat = "48.856614";
lng = "2.3522219";
;
"location_type" = APPROXIMATE;
viewport =
northeast =
lat = "48.9021449";
lng = "2.4699209";
;
southwest =
lat = "48.815573";
lng = "2.225193";
;
;
;
"place_id" = ChIJD7fiBh9u5kcRYJSMaMOCCwQ;
types = (
locality,
political
);
)
, "status": OK]
而 JSONDictionary = [String:Any]
这里有什么问题?谢谢。
【问题讨论】:
你的结果是一个数组而不是字典 【参考方案1】:将外部 JSON 转换为 [String: Any],因此可以通过以下方式完成:
假设您已转换为 [String: Any]
的 dic 然后继续转换结果值的内容,这是一个数组。
if let results = dic["results"] as? Array<Any>
print(results)
那么您应该能够进一步打印和抽象 JSON。
【讨论】:
以上是关于使用 swift 3 从谷歌地图获取 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章