我可以访问' hotel'来自json文件:
NSArray *hotel = [jsonObject valueForKeyPath:@"location.hotel"];
打印出像(更新):
<__NSCFArray 0x7b254d70>(
{
test = A;
hotel = (
{
luxuryHotels = hotel1;
},
{
luxuryHotels = hotel2;
},
我想检查数组&#39; hotel&#39;包含来自另一个数组的对象&#39; myHotels&#39;如果是,则创建一个只包含那些对象的数组。
NSArray *myHotels = [NSArray arrayWithArray:hotel.luxuryHotels];
NSMutableArray *hotel2 = [[NSMutableArray alloc] init];
for (NSArray *object in hotel) {
NSMutableSet *set1 = [NSMutableSet setWithArray: object];
NSSet *set2 = [NSSet setWithArray: myHotels];
[set1 intersectSet: set2];
NSArray *resultArray = [set1 allObjects];
NSLog(@"resultArray is %@",resultArray);
[hotel2 addObject:resultArray];
}
&#39; hotel2&#39;是这样的:( ),(hyatt ),( )
有没有办法得到一串只有hyatt?或者是一种结合数组字典的方法,如果列出了多个酒店,它就会显示在列表中?
答案 0 :(得分:0)
仍然没有100%清楚数据结构是什么样的,但你可以尝试这样的事情
将您的初始数据结构(数组数组)折叠成一个数组,然后将其转换为可变集
NSArray *flattenedHotels = [jsonObject valueForKeyPath:@"@distinctUnionOfArrays.location.hotel"];
NSMutableSet *hotels = [NSMutableSet setWithArray:flattenedHotels];
接下来,您只需执行与myHotels
[hotels intersectSet:[NSSet setWithArray:myHotels]];
NSArray *result = hotels.allObjects;