2011-06-28 15 views
0

json応答の解析に問題があります。私のエラーは:[__NSArrayI objectForKey:]:インスタンスに送信された認識できないセレクタ。私が見るように、パラメータはNSDictionaryでなければなりません。なぜparamsはNSArrayですか?GoogleジオコーディングAPI。私はjson応答の解析に問題があります

enter code hereNSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error]; 
NSString* requestStatus = [dictionary objectForKeyNotNull:@"status"]; 
if ([requestStatus isEqualToString:@"OK"]) 
{ 
    NSDictionary *params = [dictionary objectForKey:@"results"]; 
    NSString *addresses = [params objectForKey:@"formatted_address"]; 
}`enter code here` 

私のJSONは次のとおりです。あなたは、配列を持っている@ "結果" キーの場合

{ 
    "status": "OK", 
    "results": [ { 
    "types": [ "street_address" ], 
    "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", 
    "address_components": [ { 
     "long_name": "1600", 
     "short_name": "1600", 
     "types": [ "street_number" ] 
    }, { 
     "long_name": "Amphitheatre Pkwy", 
     "short_name": "Amphitheatre Pkwy", 
     "types": [ "route" ] 
    }, { 
     "long_name": "Mountain View", 
     "short_name": "Mountain View", 
     "types": [ "locality", "political" ] 
    }, { 
     "long_name": "California", 
     "short_name": "CA", 
     "types": [ "administrative_area_level_1", "political" ] 
    }, { 
     "long_name": "United States", 
     "short_name": "US", 
     "types": [ "country", "political" ] 
    }, { 
     "long_name": "94043", 
     "short_name": "94043", 
     "types": [ "postal_code" ] 
    } ], 
    "geometry": { 
     "location": { 
     "lat": 37.4219720, 
     "lng": -122.0841430 
     }, 
     "location_type": "ROOFTOP", 
     "viewport": { 
     "southwest": { 
      "lat": 37.4188244, 
      "lng": -122.0872906 
     }, 
     "northeast": { 
      "lat": 37.4251196, 
      "lng": -122.0809954 
     } 
     } 
    } 
    } ] 

}

答えて

3

は、だから、必要

NSString *addresses = [[params objectAtIndex:0] objectForKey:@"formatted_address"];

関連する問題