我正在使用
从MQTT消息转换JSON格式的数据id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
结果我得到了一本字典,如下所示
{colorCode = "#0000FF";
label = "Tornado Warning";
locations = (
{
account = 3;
"floor_plan" = (
18
);
id = 11;
label = "Albert Elementary School (ES)";
}
);
msgType = AlertInitiated;
origin = webapp; }
使用以下代码获取floor_plan数组。
NSDictionary *locations = [dict valueForKey:@"locations"];
NSArray *floor_plan = [locations valueForKey:@"floor_plan"];
我得到了floor_plan
:
<__NSArrayI 0x7fa87b5919f0>(
<__NSCFArray 0x7fa87b5af8d0>(
18
)
)
为什么NSCFAray在NSArray中生成内部? 注意: - 同样的json在android中进行解析,floor_plan数组作为普通数组得到。
答案 0 :(得分:1)
NSArray <NSDictionary <NSString *,id> *> *locations = json[@"locations"];
NSDictionary <NSString *,id> *firstLocation = locations.firstObject;
NSArray *floorPlan = firstLocation[@"floor_plan"];
答案 1 :(得分:0)
首先确保位置变量字典看起来不错......
然后试试这个:
for(Person person1 : list1) {
for(Person person2 : list2) {
if(person1.getName().equals(person2.getName()) &&
person1.getAge().equals(person2.getAge())) {
//your code
}
}
}
答案 2 :(得分:0)
尝试过这样的工作。
NSArray *floor_plan = [[locations valueForKey:@"floor_plan"] firstObject];