I have 2 cases for parsing JSON First, this:
{ "post_filter_data": { "Items": [ { "ItemID": "50cb4e46b5d30b0002000009", "ItemName": "Fruit salad test", "ItemPrice": "122.0", "ItemDescription": "test test", "ItemImageUrl": "http://s3.amazonaws.com/menubis-mms-prototype-dev/menubis/assets/50cb4e64b5d30b0002000013/landing_page.jpg?1355501156" }, { "ItemID": "50d0870d910ef2000200000a", "ItemName": "test new", "ItemPrice": "120.0", "ItemDescription": null, "ItemImageUrl": "http://s3.amazonaws.com/menubis-mms-prototype-dev/menubis/assets/50d0871a910ef20002000015/Screenshot-2.png?1355843354" } ] } }
in which Items is an NSArray and it is easily parsed, but when only one object gets its exception. Second JSON : the Items tag has one object:
{ "post_filter_data": { "Items": { "ItemID": "50d1e9cd9cfbd20002000016", "ItemName": "test", "ItemPrice": "120.0", "ItemDescription": "test", "ItemImageUrl": "http://s3.amazonaws.com/menubis-mms-prototype-dev/menubis/assets/50d1ea019cfbd20002000022/11949941671787360471rightarrow.svg.med.png?1355934209" } } }
and my code is here. Here I take it apart:
NSDictionary *dictMenu=[responseDict valueForKey:@"post_filter_data"]; NSArray* subMenuArray=[dictMenu valueForKey:@"Items"];
Is there a way to check that valueForKey:@"Items" is an Array or Object .
source share