JSON解析返回null

时间:2012-05-07 18:49:04

标签: ios json cocoa ios5

我需要解析Apple JSON但我有一点问题。我现在正在这样做:

问题在于:

- (void)fetchedData:(NSData *)responseData {
    NSError* error;
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData
                                                         options:kNilOptions 
                                                           error:&error];



    NSNumber *resultCount = [json objectForKey:@"resultCount"];
    NSLog(@"%i", [resultCount intValue]);

    NSArray * AppStoreUrlParse = [json objectForKey:@"results"]; 

    NSDictionary* StoreParse = [AppStoreUrlParse objectAtIndex:0];

    NSLog(@"%@", [json objectForKey:@"price"]);

}

在这一行:

    NSLog(@"%i", [resultCount intValue]);

NSlog正在撤退:1与JSON(http://itunes.apple.com/lookup?id=387633954

类似

但是在这一行

    NSLog(@"%@", [json objectForKey:@"price"]);

NSLOG返回(空)

有谁知道我如何从json获得价格?

1 个答案:

答案 0 :(得分:4)

似乎'price'是字典的一部分,是'results'数组中的第一项。

你能试试吗

NSLog(@"%@", [[AppStoreUrlParse objectAtIndex:0] objectForKey:@"price"]);

这将获得JSON的'results'数组的第一个元素中的'price'键的值。

修改

实际上,重新阅读代码,您已经在这一行中获得了数组的第一个元素:

NSDictionary* StoreParse = [AppStoreUrlParse objectAtIndex:0];

所以你需要做的就是在你的NSLog中用json改变StoreParse

NSLog(@"%@", [StoreParse objectForKey:@"price"]);