我使用过Web服务并以JSON的身份获取响应。我想从数组中提取细节。
这是我的示例代码,
NSString *urlDataString = [[NSString alloc] initWithData:receiveData encoding:NSUTF8StringEncoding];
SBJSON *parser = [[SBJSON alloc] init];
NSError *error = nil;
self.customArray = [parser objectWithString:urlDataString error:&error];
for (NSDictionary *feedItem in customArray)
{
NSString *listDeals = [feedItem objectForKey:@"ListOfDeals"];
[tempArray addObject:listDeals];
}
如果我已经使用了上面的代码,所有字符串都存储在临时数组和数组值1.但我想存储数据是单独的索引。所以我必须使用索引位置获取详细信息
如果我这样使用,
for (NSDictionary *feedItem in self.dollarArray)
{
NSString *listDeals = [[feedItem objectForKey:@"ListOfDeals"] valueForKey:@"Description"];
[tempArray addObject:listDeals];
}
我从tempArray获取所有描述值,但我想从数组中获取所有字符串。
实际上我期待临时数组计数3并希望获得像
这样的值 NSLog(@"%@",[tempArray ObjectAtIndex:0]);
{
BusId = 14;
Description = "Sample data"
Id = 60;
StartTime = "7/28/2011 8:30:00 PM";
},
这是我的样本回复,
(
ListOfDetails = (
{
BusId = 14;
Description = "Sample data"
Id = 60;
StartTime = "7/28/2011 8:30:00 PM";
},
{
BusId = 16;
Description = "Test data"
Id = 62;
StartTime = "7/29/2011 8:30:00 PM";
},
{
BusId = 15;
Description = "Test"
Id = 61;
StartTime = "7/27/2011 8:30:00 PM";
},
)
那我怎么能这样做?请指导我。
谢谢!
答案 0 :(得分:2)
for (NSDictionary *feedItem in self.dollarArray){
for (NSMutableArray *vijayTemp in [feedItem objectForKey:@"ListOfDeals"]) {
[tempArray addObject:vijayTemp];
}
}
答案 1 :(得分:1)
for (NSDictionary *feedItem in self.dollarArray)
{
NSDictionary *listDeals = [[feedItem objectForKey:@"ListOfDeals"] valueForKey:@"Description"];
[tempArray addObject:listDeals]; // Gets description
listDeals = [[feedItem objectForKey:@"ListOfDeals"] valueForKey:@"BusId"];
[tempArray addObject:listDeals]; // Gets BusId
listDeals = [[feedItem objectForKey:@"ListOfDeals"] valueForKey:@"Id"];
[tempArray addObject:listDeals]; // Gets Id
listDeals = [[feedItem objectForKey:@"ListOfDeals"] valueForKey:@"StartTime"];
[tempArray addObject:listDeals]; // Gets StartTime
}
或者,您可以使用[feedItem objectForKey:@"ListOfDeals"]
的返回值,它是所有4个值的字典。您可以按上述方式保存它们,也可以使用NSLog和%@
格式说明符打印它们。
编辑:
您可以使用allvalues
方法从字典创建数组。我想这应该回答你的问题。
NSArray *tempArray = [dictionary allvalues];
allValues
Returns a new array containing the dictionary’s values.
- (NSArray *)allValues