在Objective C中需要帮助计算JSON对象。
我正在使用github.com/amarcadet/XMLReader/来阅读我的XML。
如果我的JSON返回多个对象,我的代码会完美地计算对象。 但是如果我的JSON只返回一个错误的对象。
这是我的带有2个对象的JSON:
QuestionTotal = {
Question = ({
Description = {
text = "bla bla";
};
id = {
text = "123";
};
ord = {
text = 1;
};
}, {
Description = {
text = "blu blu";
};
id = {
text = "456";
};
ord = {
text = 2;
};
});
};
我的目标c代码:
NSDictionary *xmlDictionary;
NSMutableArray *questions = [[[[[[[self.xmlDictionary objectForKey:@"Envelope"] objectForKey:@"Body"] objectForKey:@"GetInterviewResponse"] objectForKey:@"GetInterviewResult"] objectForKey:@"Obj"] objectForKey:@"QuestionsTotal"] objectForKey:@"Question"];
NSLog(@“总问题:%lu”,(无符号长)[问题数]);
上面的代码返回日志:总问题:2
如果JSON是:
QuestionTotal = {
Question = {
Description = {
text = "bla bla";
};
id = {
text = "123";
};
ord = {
text = 1;
};
};
};
代码返回日志:总问题:3 这是错的。
答案 0 :(得分:0)
刚发现我需要为XMLReader插入此代码才能工作:
if (![list isKindOfClass:[NSArray class]])
{
// if 'list' isn't an array, we create a new array containing our object
list = [NSArray arrayWithObject:list];
}
当数组只有一个对象时,一切正常。
谢谢大家。