处理iOS 6的JSON响应

处理iOS 6的JSON响应,json,ios6,nsdictionary,Json,Ios6,Nsdictionary,我有一个REST服务,它生成的JSON结果已经过几个不同的验证工具的验证,等等。我对iOS开发相当陌生,但不是一般的开发。我在从服务的响应中提取对象/响应/任何内容时遇到一些问题。尽管我尽了最大的努力,我的尝试还是失败了 来自服务的典型响应: [ { "prcID": 547, "prcName": "walls", "prcDescription": "hi-lo", "1prc": 270, "2prc"

我有一个REST服务,它生成的JSON结果已经过几个不同的验证工具的验证,等等。我对iOS开发相当陌生,但不是一般的开发。我在从服务的响应中提取对象/响应/任何内容时遇到一些问题。尽管我尽了最大的努力,我的尝试还是失败了

来自服务的典型响应:

[
    {
        "prcID": 547,
        "prcName": "walls",
        "prcDescription": "hi-lo",
        "1prc": 270,
        "2prc": 282,
        "3prc": 312,
        "4prc": 348,
        "5prc": 354,
        "6prc": 360,
        "7prc": 366,
        "8prc": 372,
        "9prc": 384,
        "10prc": 432
    },
    {
        "prcID": 548,
        "prcName": "doors",
        "prcDescription": "hi-lo",
        "1prc": 270,
        "2prc": 282,
        "3prc": 312,
        "4prc": 348,
        "5prc": 354,
        "6prc": 360,
        "7prc": 366,
        "8prc": 372,
        "9prc": 384,
        "10prc": 432
    }
]
该代码混合了示例代码和我自己尝试的工作:

- (void)fetchedData:(NSData *)responseData {
    //parse out the json data
    NSError* error;
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData //1
                                                         options:kNilOptions
                                                           error:&error];


    NSMutableArray *myarray = [json.description mutableCopy];
    outPutText.text = [myarray mutableCopy];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSData* data = [NSData dataWithContentsOfURL:
        [NSURL    URLWithString:@"someserviceurl"]];
        [self performSelectorOnMainThread:@selector(fetchedData:)
                               withObject:data waitUntilDone:YES];
    });
}
这段代码让我至少可以在文本视图中看到服务的响应,但每次我尝试使用ObjectAtIndex或使用AllKeys迭代进入“json”NSDictionary时,我都会遇到类似的错误,就像我尝试下面的代码时一样:

NSArray* somearray = [json objectForKey:@"prcName"];
NSLog(@"PriceName: %@", somearray);
错误是:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to instance 0x71944b0'
非常感谢您的帮助。

这个怎么样

NSString *firstName = [NSString stringWithFormat:
                       @"%@",
                       json[0][@"prcName"], nil];
NSLog(@"%@", firstname);

iOS6将响应转换成一个数组,我使用
[0]
选择响应JSON的第一个“块”。

我意识到我的问题和代码可能有明显的疏忽——我已经尝试了几个小时来搜索并通过它,但我遇到了一个似乎无法通过的障碍。我非常感谢对这一问题的一部分提出的任何见解或建议。谢谢