2013-08-22 66 views
0

数据这是我的JSON文件:检索的NSDictionary

{"object": 

    {"blog":[{"guid":181,"type":"object","subtype":"4","time_created":"1376731708","time_updated":"1376731708","container_guid":"180","owner_guid":"180","site_guid":"1","title":"ugg sito ufficiale italiavyt","description":"sdataa","url":"http:\urlt"}], 

    "bookmarks":[ 
     {"guid":82,"type":"object","subtype":"9","time_created":"1372072736","time_updated":"1372072910","container_guid":"81","owner_guid":"33","site_guid":"1","title":"Eqtitler","description":"<description>","url":"http:\urler"}, 
     {"guid":75,"type":"object","subtype":"9","time_created":"1371728924","time_updated":"1371728924","container_guid":"64","owner_guid":"52","site_guid":"1","title":"Ttitleur","description":"<pdescriptionp>","url":"http:\urlr"} 
    ] 
}, 

"group":[ 
    [ 
     {"guid":83,"type":"group","subtype":"0","time_created":"1372073952","time_updated":"1372074727","container_guid":"33","owner_guid":"33","site_guid":"1","name":"titles","description":"description>","url":"http:\urls"}, 
     {"guid":81,"type":"group","subtype":"0","time_created":"1372067304","time_updated":"1372068113","container_guid":"33","owner_guid":"33","site_guid":"1","name":"titles","description":"<pdescriptionp>","url":"http:\/\urles"}, 
     {"guid":64,"type":"group","subtype":"0","time_created":"1371728148","time_updated":"1372068044","container_guid":"33","owner_guid":"33","site_guid":"1","name":"Gtitres","description":"<description>","url":"http:\/\urls"} 
    ] 
] 
    } 

我用下面的代码来解析的json:

NSError *error = nil; 
NSData *jsonData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://s210678217.onlinehome.fr/?view=json"]]; 

id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; 

NSDictionary *feed = [jsonObjects objectForKey:@"object"]; 
NSArray *entries = [feed objectForKey:@"bookmarks"]; 

或者

NSArray *entries2 = [feed objectForKey:@"blog"]; 

此代码工作完全检索数据与书签和博客。 只有这个代码不能检索组。 我不明白为什么?

回答

0

您在group之前在json中缺少{。纠正它然后 尝试这种情况:

NSArray *entries = [jsonObjects objectForKey:@"group"]; 

组是NSDictionary阵列。

0

你可以简单地使用json-framework来解析任何json字符串。你应该在你的类中导入“SBJSON.h”,下面的代码将你的JSON解析为一个NSArray。

NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://yourURL"]]; 
NSURLResponse *resp = nil; 
NSError *error = nil; 
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error]; 
NSString *jsonString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; //your json string from URL request 
//JSON Parsing here 
SBJsonParser* parser = [SBJsonParser new]; 
NSArray* myArr = [parser objectWithString:jsonString]; //parsed NSArray 

您可以在这里下载这个框架:(https://github.com/stig/json-framework/) 你应该有一个有效的JSON然而,解析它。