将JSON数据分配给数组

时间:2014-08-10 18:44:19

标签: ios objective-c arrays json

我正在尝试将JSON对象中的数据分配到NSMutableArray。当我尝试将数据添加到对象中时它正在工作,但是当我将数据分配给数组时却没有。这是代码。违规行位于代码的中间,与将数据添加到对象的代码分开。

- (NSMutableArray *)cards {
    NSMutableArray *cards;
    Users *obj=[Users getInstance];

    NSString *getDataURL =[[NSString alloc] initWithFormat: @""];
    NSURL * url = [NSURL URLWithString:getDataURL];

    NSData * data = [NSData dataWithContentsOfURL:url];

    NSError* error;
    _jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    _savingsArray = [[NSMutableArray alloc] init];

    for(int i = 0; i < _jsonArray.count; i++)
    {
        NSString * sID = [[_jsonArray objectAtIndex:i] objectForKey:@"savingsID"];
        NSString * sName = [[_jsonArray objectAtIndex:i] objectForKey:@"name"];
        NSString * sDate = [[_jsonArray objectAtIndex:i] objectForKey:@"startDate"];
        NSString * eDate = [[_jsonArray objectAtIndex:i] objectForKey:@"endDate"];
        NSString * sGoal = [[_jsonArray objectAtIndex:i] objectForKey:@"goal"];
        NSString * sSaved = [[_jsonArray objectAtIndex:i] objectForKey:@"saved"];
        NSString * sPerDay = [[_jsonArray objectAtIndex:i] objectForKey:@"amountPerDay"];
        NSString * sUser = [[_jsonArray objectAtIndex:i] objectForKey:@"user"];

       [cards addObject:@{@"name" :[[_jsonArray objectAtIndex:i] objectForKey:@"name"]}];
       _cards = [NSMutableArray arrayWithArray:cards];

        [_savingsArray addObject:[[Savings alloc] initWithSavingsID: sID andName:  sName andStartDate: sDate andEndDate: eDate andGoal: sGoal andSaved: sSaved andAmountPerDay: sPerDay andUser:sUser]];
    }

    NSLog(@"%lu", (unsigned long)_cards.count);
    return _cards;
}

当我计算数组时,它返回一个0值,实际上应该是2。

有什么想法吗?

0 个答案:

没有答案