gpt4 book ai didi

iphone - 当我们从 ios 中的 json 获取它时如何检查 valueOfKey 是 Array 还是 Object

转载 作者:可可西里 更新时间:2023-11-01 05:02:02 26 4
gpt4 key购买 nike

我有两种情况需要解析 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 并且它很容易解析但是当只有一个对象时我通过异常获取它。第二个 JSON 是其中 Items 标签有一个对象:

{
"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"
}
}
}

我的代码在这里,我正在解析它:

NSDictionary *dictMenu=[responseDict valueForKey:@"post_filter_data"];
NSArray* subMenuArray=[dictMenu valueForKey:@"Items"];

有什么方法可以检查出 valueForKey:@"Items"Array 还是 Object

最佳答案

在 _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");
}

关于iphone - 当我们从 ios 中的 json 获取它时如何检查 valueOfKey 是 Array 还是 Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13968397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com