使用字符串作为[JSON valueForKeyPath]选择器的一部分?

时间:2013-07-31 14:44:23

标签: ios objective-c json

我正在解析看起来像的JSON:

{"data":{"items":{"daily":{"2013-07-31":16}}}}

我已经建立了一个日期字符串。 e.g:

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"Y-MM-d"];

NSDate *now = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:now];

如何将 dateString 用作valueForKeyPath选择器的一部分?

[JSON valueForKeyPath:@"data.items.daily"]?

3 个答案:

答案 0 :(得分:5)

您可以使用字符串格式:

[JSON valueForKeyPath:[NSString stringWithFormat:@"data.items.daily.%@", dateString]];

答案 1 :(得分:3)

您可以使用+stringWithFormat:方法创建keyPath字符串,然后使用它。你会有类似的东西(假设JSON是你已经从json字符串解析的对象):

NSString *keyPath = [NSString stringWithFormat:@"data.items.daily.%@", dateString];
id valueYouLookFor = [JSON valueForKeyPath: keyPath]

答案 2 :(得分:0)

我认为这种stringWithFormat:方法会有所帮助:

[NSString stringWithFormat:@"data.items.daily.%@", dateString];