#ios #json #google-maps #swift3
#iOS #json #google-карты #swift3
Вопрос:
В настоящее время я работаю над проектом приложения ios swift 3, в котором используются данные Google Maps с помощью JSON, но когда я начинаю компиляцию, я не могу получить значение [«результаты»]:
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. Ваши результаты представляют собой массив, а не словарь
Ответ №1:
Приведите внешний JSON в виде [String: Any], что будет сделано следующим образом:
Предполагая, что dic, который вы привели, [String: Any]
затем выполните приведение содержимого значения results, которое представляет собой массив.
if let results = dic["results"] as? Array<Any> {
print(results)
}
Затем вы должны иметь возможность печатать и абстрагировать JSON дальше.