4

我是 iOS 新手。

NS数据:

{
"results" : [
  {
     "formatted_address" : "Proyezd Voskresenskiye Vorota, 3, Moscow, Russia, 109012",
     "geometry" : {
        "location" : {
           "lat" : 55.75622380,
           "lng" : 37.61855850
        } 

我只需要“formatted_address”,你能帮我制作一个 NSString 吗?对不起愚蠢的问题。

4

2 回答 2

7

NSData是一个 JSON 响应,你需要创建一个NSDictionary能够访问数据的特定部分。一个NSDictionary只是将键映射到值。获取您调用的值– objectForKey:。在您的情况下,您有一个字典作为键“结果”的值。所以在你的情况下:

NSDictionary *results = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSDictionary *resultsDictionary = [[results objectForKey:@"results"] objectAtIndex:0];
NSString *formattedAddress = [resultsDictionary objectForKey:@"formatted_address"];
于 2012-08-03T15:31:38.670 回答
1

看看 NSJSONSerialization 类。有一种方法可以将您的数据转换为字典:

+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;

有了这个,您应该能够通过询问您新创建的 NSDictionary 来检索您的 NSString。

于 2012-08-03T15:26:07.433 回答