我将 Google Maps Geocoding API 与适用于 iOS 的 Google Places Autocomplete API 结合使用来搜索地址并返回邮政编码。当返回 JSON 数据时,我将其存储在 NS 字典中,然后使用条件检查返回的组件数。在我的第一个测试地址中,邮政编码在 address_components 中的索引 8 处返回,因此我使用了以下条件:
if ([[[[json objectForKey: @"results"]objectAtIndex:0] objectForKey:@"address_components"] count]>=8) {
//stuff
}
然而,在我的第二个测试地址上,邮政编码位于索引 7 处。与其尝试修改我的条件以说明返回 json 数据的所有可能方式,我是否可以搜索 json 数据以查找返回任何东西之前的邮政编码?邮政编码的 json 数据(在地址组件键内)如下所示:
{
"long_name" = 20001;
"short_name" = 20001;
types = (
"postal_code"
);
有没有办法让我搜索“postal_code”类型并返回它的“long_name”?或者,是否可以编写一个仅返回邮政编码(如果存在)的地理编码 API 调用?
最佳答案
这是您的邮政编码:
for (NSDictionary *component in json[@"results"][0][@"address_component"]) {
if ([component[@"types"] containsObject:@"postal_code"]) {
return component[@"long_name"];
}
}
关于ios - 是否可以在 JSON 数据中搜索特定键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26280196/