在Objective-C中解析并迭代JSON字符串
这可能很简单,但我是Objective-c的新手,我找不到方法来实现这一点,我有一个字符串,看起来像这样:在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
[
{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)中的属性,以及它是否包含子数组(例如数组)