Objective C - XMLReader错误计数数组

时间:2015-11-11 20:53:26

标签: objective-c json nsarray xmlreader

在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 这是错的。

1 个答案:

答案 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];
}

当数组只有一个对象时,一切正常。

谢谢大家。