我正在尝试从JSON输入读取并将其放在NSDictionnary中,以便尽可能顺利地对待它。
我正在研究的例子是:
{" count":4," next":null," previous":null," results":[{&# 34; id":1," name":" Max"},{" id":2," name":& #34; Hugo"},{" id":3," name":" Romain"},{" id": 4,"姓名":" Laurent"}]}
我唯一感兴趣的是"结果"部分。
这就是我将数据放在数组中的方式:
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
我对键/值对感到困惑,我做了一些研究而没有找到任何有价值的东西。我试过的是:
NSArray *values = [[jsonArray objectAtIndex:0] objectAtIndex:1];
for(NSDictionary *item in values) {
NSLog( @"%@ --- %@", item[@"id"], item[@"name"]);
但由于格式不好,我显然会收到错误。我是Objective C的新成员,我仍在搜索网页以找到合适的答案,但非常感谢帮助。
非常感谢!
答案 0 :(得分: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"]);
}