2012-03-29 73 views
0

我試圖解析此JSON具有 「節點」 標籤的多個條目:解析JSON疑惑 - 目標C

{ 
    "nodes": [ 
     { 
     "node": { 
      "title": "Jornada del Fútbol Profesional contra el hambre", 
      "description": " 
      "image": ", 
      "fecha": , 
      "nid": ", 
      "noticia_relacionada_1_path": , 
      "noticia_relacionada_2_path": , 
      "image_small_2": 
     } 
     } 
    ] 
} 

下面是代碼:

NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];  
    //data =nil; 

    NSDictionary *results = [responseString JSONValue]; 

    NSArray *noticias = [results objectForKey:@"node"]; 

    self.noticiasArray = [[NSMutableArray alloc] init]; 

    for (int i = 0; i < [noticias count]; i++) { 

     news *noticia = [[news alloc] initWithDictionary:[noticias objectAtIndex:i]]; 
     [self.noticiasArray addObject:noticia]; 
     noticia=nil; 

    } 

我得到了10元notices數組,但是當我嘗試獲取initWithDictionary中的內部值時:它們始終爲空。

非常感謝

+1

這種 「JSON」 被打破了。孤獨的引言是什麼? – cHao 2012-03-29 16:17:46

+1

調試它。我的猜測是,你得到的字典有一個「node」元素作爲「initWithDictionary」parm。您可能希望直接看到「標題」等元素,但是還有一層洋蔥不會被剝離。 – 2012-03-29 16:20:04

+0

我怎樣才能到達內部標籤?謝謝 – roof 2012-03-29 16:21:54

回答

1

例子:

NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];  
//data =nil; 

NSDictionary *results = [responseString JSONValue]; 

NSDictionary *noticias = [results objectForKey:@"node"]; 

news *noticia = [[news alloc] init]; 
noticia.title = [noticias objectForKey:@"title"]; 
// do the same for the rest of the variables 
[self.noticiasArray addObject:noticia]; 
noticia=nil; 
+0

非常感謝您的幫助! – roof 2012-03-29 18:56:50