【发布时间】:2013-08-23 14:23:40
【问题描述】:
我想根据当天的时间从我的 google 地方 json 响应中获取关闭时间。这行代码给了我一个 0-6 的值表示一周中的当前日期。
NSString *dayOfWeek = [myFormatter stringFromDate:today];
我有一个 NSArray 来存储 google places 响应的结果。
NSArray* periods= [[place objectForKey:@"opening_hours"]objectForKey:@"periods"];
句点数组中的 json 响应如下所示。
Period RESULT (
{
close = {
day = 0;
time = 2300;
};
open = {
day = 0;
time = 1100;
};
},
{
close = {
day = 1;
time = 2300;
};
open = {
day = 1;
time = 1100;
};
},
{
close = {
day = 2;
time = 2300;
};
open = {
day = 2;
time = 1100;
};
},
{
close = {
day = 3;
time = 2300;
};
open = {
day = 3;
time = 1100;
};
},
{
close = {
day = 4;
time = 2300;
};
open = {
day = 4;
time = 1100;
};
},
{
close = {
day = 5;
time = 2300;
};
open = {
day = 5;
time = 1100;
};
},
{
close = {
day = 6;
time = 2300;
};
open = {
day = 6;
time = 1100;
};
}
)
如何使用我的 dayOfWeek 值来检查 period 数组的正确 close.time?
【问题讨论】:
-
实际上,你上面的不是 JSON,而是包含反序列化 JSON 的 NSArray 的“描述”(NSLog)。数组包含 NSDictionary,数组中的每个 NSDictionary 又包含两个 NSDictionary。如果您完全了解如何编程,那么遍历数组、查看每个条目并进行所需的检查应该是一件简单的事情。 (你试过什么?)
-
(如果你不能自己解决这个问题,你需要暂时搁置 Objective-C 并用 Java 或类似的东西做更多的教育。)
-
谢谢。我了解该数组包含 NSDictionarys,并且我了解我需要了解更多信息 - 正在进行中。我希望在这里提出一个问题来帮助这个过程。我尝试过的大部分内容都围绕使用 if (![periods containsObject:dayOfWeek]) [periods addObject:valueForKeyPath:@"close.time"];
-
提示:写一个循环。提取每个数组元素。 NSLog它。然后决定如何处理它。重复。这就是我在处理复杂 JSON 时所做的(当然不是,但过程仍然有效。)