如何从NSData获取信息?

时间:2012-08-03 15:06:04

标签: iphone ios nsdata

我是iOS新手。

NSData的:

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

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

2 个答案:

答案 0 :(得分: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"];

答案 1 :(得分:1)

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

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

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