Objective c 解析Json响应
我有以下json响应,我不确定如何解析它Objective c 解析Json响应,objective-c,Objective C,我有以下json响应,我不确定如何解析它 [{"WordArray":[{"Id":11,"Word1":"ODDER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":225,"Word1":"PRAG","Category":"International by","Differculty":1,"Language":"Danish"}]},{"WordArray":[{"Id":3,"Word1":"TIGER","Ca
[{"WordArray":[{"Id":11,"Word1":"ODDER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":225,"Word1":"PRAG","Category":"International by","Differculty":1,"Language":"Danish"}]},{"WordArray":[{"Id":3,"Word1":"TIGER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":154,"Word1":"BOLLE","Category":"Mad og drikke","Differculty":1,"Language":"Danish"}]},
{"WordArray":[{"Id":3,"Word1":"TIGER","Category":"Dyr","Differculty":1,"Language":"Danish"},{"Id":147,"Word1":"PIZZA","Category":"Mad og drikke","Differculty":1,"Language":"Danish"}]}]
我试过以下方法,但运气不好
NSMutableArray* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSMutableArray * roundWords = [[NSMutableArray alloc]retain ];
roundWords = [json objectAtIndex:i];
json包含我的3个“WordArray”,但我不确定如何继续。。
例如,如何迭代WordArray
中的每个项目并记录Word1
值
谢谢
如何迭代WordArray中的每个项并记录Word1值
使用快速枚举
for (NSDictionary *dict in array) {
NSLog(@"%@", [dict objectForKey:@"Word1"]);
}
顺便说一句,您的代码在几个地方是错误的:
NSMutableArray *roundWords = [[NSMutableArray alloc] retain];
roundWords = [json objectAtIndex:i];
一个,一个不会像这样使用retain
链接alloc
。使用init
初始化对象
第二:除非您使用ARC(您不使用),否则该行会泄漏内存-由于您重新为原始数组分配了其他内容,因此将丢弃指向该数组的指针
三:
[json objectAtIndex:i]
不是一个NSMutableArray
-它是一个NSDictionary
(顺便说一句,它是不可变的。声明并不是魔术——不管你如何声明你的变量,它都不会影响NSJSONSerialization
返回一个不可变字典的事实,除非另有规定)。还要注意,这甚至与Xcode无关。