1

遇到了一个简单的 objc 问题,需要一些帮助。我正在向服务器发送一个查询,该服务器返回一个包裹在 JSON 中的元组。只需使用字典来整理所有内容。

- (void)viewDidLoad
{
[super viewDidLoad];
Nodes *node = [Nodes new];
NSDictionary *jsonDict = [node nodeActivityforNode:@"17" withDates:nil and:nil];
NSDictionary *jsonActivityDict = [jsonDict objectForKey:@"activity"];
NSLog(@"activity?: %@", jsonActivityDict);

}

然后是调试转储

activity?: 

(
    (
    "2013-05-21 16:58:32",
    0
),
    (
    "2013-05-21 16:58:15",
    0
),
    (
    "2013-05-21 16:57:59",
    0
),

我正在尝试拆分逗号分隔的值,以便我可以将它们放在单独的 int 和 string 对象中,但只是想不出如何进入那里。任何帮助,将不胜感激。谢谢!

4

1 回答 1

1

“活动”数据看起来像一个数组数组,而不是字典。如果您知道您将始终获得三对值,并且您希望将这 6 个值放入 6 个单独的变量中,那么您可以这样做:

NSDictionary *jsonDict = [node nodeActivityforNode:@"17" withDates:nil and:nil];
NSArray *jsonActivities = [jsonDict objectForKey:@"activity"];
NSString *date1 = jsonActivities[0][0];
int int1 = [jsonActivities[0][1] intValue];
NSString *date2 = jsonActivities[1][0];
int int2 = [jsonActivities[1][1] intValue];
NSString *date3 = jsonActivities[2][0];
int int3 = [jsonActivities[2][1] intValue];

请注意,如果少于 3 组对,或者如果这三个“对”中的任何一个只有一个值而不是两个,则此代码将崩溃。

于 2013-05-22T03:50:35.527 回答