iphone – 当我们从ios中的json获取时,如何检查valueOfKey是Arra
发布时间:2020-12-14 18:56:12 所属栏目:百科 来源:网络整理
导读:我有2个案例来解析 JSON首先是: { "post_filter_data": { "Items": [ { "ItemID": "50cb4e46b5d30b0002000009","ItemName": "Fruit salad test","ItemPrice": "122.0","ItemDescription": "test test","ItemImageUrl": "http://s3.amazonaws.com/menubis-mm
我有2个案例来解析
JSON首先是:
{ "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" } ] } } 其中Items是一个NSArray,它很容易解析,但只有一个对象我才能通过异常. { "post_filter_data": { "Items": { "ItemID": "50d1e9cd9cfbd20002000016","ItemName": "test","ItemDescription": "test","ItemImageUrl": "http://s3.amazonaws.com/menubis-mms-prototype-dev/menubis/assets/50d1ea019cfbd20002000022/11949941671787360471rightarrow.svg.med.png?1355934209" } } } 我的代码就在这里我在解析它: NSDictionary *dictMenu=[responseDict valueForKey:@"post_filter_data"]; NSArray* subMenuArray=[dictMenu valueForKey:@"Items"]; 有没有办法我检查出valueForKey:@“Items”是数组或对象. 解决方法
在_recievedData中获取数据rx,然后检查对象的类.
id object = [NSJSONSerialization JSONObjectWithData:_recievedData options:kNilOptions error:&error]; if (error) { NSLog(@"Error in rx data:%@",[error description]); } if([object isKindOfClass:[NSString class]] == YES) { NSLog(@"String rx from server"); } else if ([object isKindOfClass:[NSDictionary class]] == YES) { NSLog(@"Dictionary rx from server"); } else if ([object isKindOfClass:[NSArray class]] == YES) { NSLog(@"Array rx from server"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |