2014-10-12 94 views
0

我想從JSON輸入中讀取並將其放入NSDictionnary中,以便儘可能平滑地對待它。在NSDictionnary中格式化JSON數據

我工作的例子是:

{ 「計數」:4, 「下一步」:空, 「以前」:空, 「結果」:[{ 「ID」:1, 「name」:「Max」},{「id」:2,「name」:「Hugo」},{「id」:3,「name」:「Romain」},{「id」:4, 「:」Laurent「}]}

我唯一感興趣的是」結果「部分。

這是我如何把DATAS一個數組:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"xxxxxx.com/?format=json"]]; 

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSError* err = nil; 
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:&err]; 

jsonArray的結構

的NSArray

http://i.stack.imgur.com/OFRY3.png

我很困惑的鍵/價值對,我做了一些研究而沒有發現任何有價值的東西。我試過的是:

NSArray *values = [[jsonArray objectAtIndex:0] objectAtIndex:1]; 
    for(NSDictionary *item in values) { 
     NSLog(@"%@ --- %@", item[@"id"], item[@"name"]); 

但是,我明顯得到一個錯誤,因爲格式不好。我是Objective C的新手,我仍然在尋找網絡來找到合適的答案,但非常感謝。

非常感謝!

回答

1

看起來你的JSON是包含數組的詞典:

NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:&err]; 

// then get your array 
NSArray *results = jsonDict[@"results"]; 
// then print 
for (NSDictionary *dict in results) { 
    NSLog(@"id: %@, name: %@", dict[@"id"], dict[@"name"]); 
}