Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 解析Json响应_Objective C - Fatal编程技术网

Objective c 解析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

我有以下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","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无关。