Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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_Json - Fatal编程技术网

在Objective-C中解析并迭代JSON字符串

在Objective-C中解析并迭代JSON字符串,objective-c,json,Objective C,Json,这可能很简单,但我是Objective-c的新手,我找不到方法来实现这一点,我有一个字符串,看起来像这样: [ {quantity: 2, product: "CHEESEBURGER", price: 14.44, extraingredients: [{name:'extra sos', price:3.00}]}, {quantity: 1, product: "FANTA", price: 14.40}, {quantity: 1, product: "CHICKEN POKE B

这可能很简单,但我是Objective-c的新手,我找不到方法来实现这一点,我有一个字符串,看起来像这样:

[
 {quantity: 2, product: "CHEESEBURGER", price: 14.44, extraingredients: [{name:'extra sos', price:3.00}]},
 {quantity: 1, product: "FANTA", price: 14.40},
 {quantity: 1, product: "CHICKEN POKE BOWL", price: 14.50}
]
现在我需要解析这个字符串,遍历每个对象,还需要遍历每个数组

我做了一些研究,我发现解析是这样的:

NSArray* json = [NSJSONSerialization
                            JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]
                            options:NSJSONReadingMutableContainers
                            error:&e];

但这不起作用

如上所述,字符串不是有效的JSON。关键字(例如,
数量
产品
)必须用双引号括起来,
名称
的字符串值也必须用双引号括起来。对字符串进行更改时,
NSJSONSerialization
类可以工作:

NSString *jsonString = @"[{\"quantity\": 2, \"product\": \"CHEESEBURGER\", \"price\": 14.44, "\
                        "\"extraingredients\": [{\"name\":\"extra sos\", \"price\":3.00}]}, "\
                        "{\"quantity\": 1, \"product\": \"FANTA\", \"price\": 14.40}, "\
                        "{\"quantity\": 1, \"product\": \"CHICKEN POKE BOWL\", \"price\": 14.50}]";

NSError *e;
NSArray* json = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]
                                                options:NSJSONReadingMutableContainers
                                                  error:&e];

您是对的,但如何遍历整个数组,如何访问属性的javascript点名(.name或.product)中的属性,以及它是否包含子数组(例如数组)