gpt4 book ai didi

ios - JSON iOS isEqualToString

转载 作者:行者123 更新时间:2023-11-29 03:50:08 26 4
gpt4 key购买 nike

我正在尝试检查 .json 文件中的值是“0”还是“1”。

我的 .json 文件:

{
"timetable": [
{
"50mhour": "1",
"on": "1"
},
{
"50hour": "2",
"on": "1"
},
{
"50hour": "50min1",
"on": "1"
},
{
"techhour": "4",
"on": "1"
},
]
}

我创建了一个方法来调用此 URL:

-(void)makeRequests
{
NSURL *url = [NSURL URLWithString:@"http://content.app.ch/api/timetable.json"];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFJSONRequestOperation *operation = [AFJSONRequestOperation
JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id responseObject)
{

self.get = [responseObject objectForKey:@"timetable"];
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id responseObject)
{
NSLog(@"Request Failed with Error: %@, %@", error, error.userInfo);
}];

[operation start];
}

当然,我也创建了一个 NSDictionary

NSDictionary *tempDictionary= [self.get objectAtIndex:1];

我不太确定 objectAtIndex 值。

检查值是“0”还是“1”的正确方法是什么我知道 isEqualToString: 可能可以做到这一点,但我不确定如何做到。

更新:尝试将此作为以下答案的建议:

NSNumber *obj = [[self.get objectAtIndex:0] objectForKey:@"on"];
int onValue = [obj intValue];

if (onValue == 1) {
NSLog(@"works!");
}

else {
NSLog(@"doesn't work!");
}

代码可以工作,但 JSON 值为“1”,并且 NSlog 仍然显示“不工作!”。

最佳答案

您提供的 JSON 编码数组(时间表)只有一个元素,因此采用 objectAtIndex:1 会使您的程序崩溃/抛出越界异常。从数组中获取元素 0 或 lastObject,您将获得指向以下字典的指针:

{
"50hour": "1",
"on": "1"
}

由于这是一本字典,因此查找值的正确方法是通过键:

NSNumber *obj = [[self.get objectAtIndex:0] objectForKey:@"on"]; // or @"50hour", whichever you need
int onValue = [obj intValue];

关于ios - JSON iOS isEqualToString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com