2013-01-16 91 views
1

我能够从JSON文件创建一个NSDictionary没问题,我需要知道的是如何做嵌套的JSON字符串?请参阅示例:NSDictionaries和嵌套的JSON

{ 
"data": [ 
    { 
    "id": "270639882984792_306265986160413", 
    "from": { 
     "category": "Non-profit organization", 
     "name": "My Facebook Page", 
     "id": "270639882984792" 
    }, 

因此,这是一个巨大的JSON文件的一部分,但我怎么设置它,这样我可以从所谓的“姓名”键“从”关键 - 我知道该怎么称呼“数据”键中的“id”键,但我想要的是更深层次的。

在此先感谢:-)

编辑 - 这里是我开始工作的一些iOS的代码:

NSDictionary *items = [json objectForKey:@"data"]; 

NSArray *items2 = [items objectForKey:@"from"]; 
// NSDictionary *item = [items objectAtIndex:1]; 

NSMutableArray *story = [NSMutableArray array]; 

for (NSDictionary *item in items2) 
{ 

    if([item objectForKey:@"name"] || [item objectForKey:@"name"] != nil || [[item objectForKey:@"name"] length]>0){ 
     [story addObject:[item objectForKey:@"name"]]; 
    } 

    NSLog(@"ITEM - %@", [item objectForKey:@"name"]); 

} 
+0

剥洋葱,一次一步。一旦你明白你在做什么,你可以使用诸如valueForKeyPath之类的东西,但最好先“longhand”。 –

回答

2

试试这个:

NSDictionary* data= json[@"data"]; 
NSDictionary* from= [data[0] objectForKey: @"from"]; 
NSString* name= from[@"name"]; 

如果你只是想你的名字'很好,如果你需要所有的数据,我建议创建一个能够为每个字典条目保存一个值的对象。您可以像使用不同的键一样访问“id”和“category”。

+0

该应用程序崩溃,它给了我这个错误: - [__ NSCFArray objectForKey:]:无法识别的选择器发送到实例 –

+0

对不起,我没有看到该数据是一个数组,编辑。 –

+0

是json [@“data”]; [json objectForKey:@“data”]的简写; ?对不起,还没有看到它的方式呢 –