可能值得说明的是,我还没有找到确定钥匙是否具有价值的好方法。我尝试过将值与nil进行比较,但这并不起作用。我发现唯一有效的方法是确定值isEqualToString:@""
。 PHP的isset()是我寻找的理想选择
data: {
{
number = 50,
position = left
},
{
number = 40,
position = right
}
}
我可以使用以下代码检查此结构的值:
[[self.data objectAtIndex:row] valueForKey:@"number"]
有时数据作为单个对象出现:
data: {
error = 1
}
我在处理此问题时遇到了困难,因为在解析单个对象数据时,objectAtIndex:
会导致应用程序自然崩溃。
我将如何处理这两种类型的数据结构?
我试过了一个IF OR,
if(![[self.data objectAtIndex:row] valueForKey:@"error"] || [[self.data valueForKey:@"error"] isEqualToString:@"1"])
但是初始条款仍会导致崩溃。
答案 0 :(得分:1)
我通常会这样处理这种情况: -
if ([self.data isKindOfClass:[NSArray class]])
{
NSArray *jsonArray = (NSArray *)self.data;
// do something with the array...
}
else
{
NSLog(@"unexpected JSON data: %@", self.data);
}