0

我正在尝试使用 json.framework 读取 json 消息。该消息是会议详细信息的嵌套集合。我的愿望是迭代所有会议的想法,并使用从消息中读取的详细信息创建本地会议对象。我看到要获取 json 结果中的 15 个会议的列表,但无法从结果中获取单个值。

这是我的示例代码。我正在为 json 消息使用一个文件,这样我就不必让服务器参与这个测试。json 消息可以在这里下载。

-(void)TestParse:(NSString *)response
{
    NSString *filePath = [[NSBundle mainBundle]pathForResource:@"conference_calls" ofType:@"json"];
    NSString *fileContent =[[NSString alloc]initWithContentsOfFile:filePath];

    parser = [SBJsonParser new];
    NSArray *results = [parser objectWithString:fileContent];

    NSLog(@"Number of itmems in the results: --> %i", [results count]);

    for(NSDictionary *conf in results){

        //Load local objects with the values of the Conf info.

        NSLog(@"This the description %@ ",[c valueForKey:"phone_number"]);

        NSLog(@"Number of Items in Dic: %i",[conf count]);

        NSLog(@"File contents: %@",[conf description]);
    }
4

1 回答 1

1

你的 json 结构是一个字典数组。但是每个字典只有一个名为“conference_call”的键,该键的值是另一个字典,其中包含该调用的所有详细信息。

所以这样的事情应该有效:

for (NSDictionary* call in results) {

    // get the actual data for this call
    NSDictionary *callDetails = [call objectForKey:@"conference_call"];

    NSLog (@"Location is %@", [callDetails objectForKey:@"location"]);
}

希望有帮助。

于 2011-05-22T03:40:55.187 回答