2013-08-22 2 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

Вам не хватает { в json до group. исправить то Попробуйте это:

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, однако, чтобы разобрать его.

Смежные вопросы