gpt4 book ai didi

ios - 在 iOS 中解析 JSON 时遇到一些错误?

转载 作者:行者123 更新时间:2023-11-28 22:40:02 24 4
gpt4 key购买 nike

这是我的解析代码:

    - (void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSError *myError = nil;
NSDictionary *flighttrackjson = [NSJSONSerialization JSONObjectWithData:jsonresponse options:NSJSONReadingMutableLeaves error:&myError];
NSArray *FlightStatus = [flighttrackjson objectForKey:@"flightStatuses"];
NSString *FlightID = [FlightStatus valueForKey:@"flightId"];
NSString *DepartACode = [FlightStatus valueForKey:@"departureAirportFsCode"];
NSString *ArivalACode = [FlightStatus valueForKey:@"arrivalAirportFsCode"];
NSArray *DepartATime = [FlightStatus valueForKey:@"departureDate"];
NSArray *AriveATime = [FlightStatus valueForKey:@"arrivalDate"];
NSString *DepartTimeString = [DepartATime valueForKey:@"dateLocal"];
NSString *ArriveTimeString = [AriveATime valueForKey:@"dateUtc"];
NSArray *Delays = [FlightStatus valueForKey:@"delays"];
NSString *DepartDelayMinutes = [Delays valueForKey:@"departureGateDelayMinutes"];
NSString *ArriveDelayMinutes = [Delays valueForKey:@"arrivalGateDelayMinutes"];
NSArray *AirportInfo = [FlightStatus valueForKey:@"airportResources"];
NSString *DepartTerminal = [AirportInfo valueForKey:@"departureTerminal"];
NSString *DepartAGate = [AirportInfo valueForKey:@"departureGate"];
NSString *ArriveTerminal = [AirportInfo valueForKey:@"arrivalTerminal"];
NSString *ArriveAGate = [AirportInfo valueForKey:@"arrivalGate"];
NSString *BaggageClaim = [AirportInfo valueForKey:@"baggage"];
flightID.text=FlightID;
DepartCode.text=DepartACode;
ArrivalCode.text=ArivalACode;
DepartTime.text=DepartTimeString;
ArriveTime.text=ArriveTimeString;
DepartDelay.text=DepartDelayMinutes;
ArriveDelay.text=ArriveDelayMinutes;
DepartTerm.text=DepartTerminal;
DepartGate.text=DepartAGate;
ArriveTerm.text=ArriveTerminal;
ArriveGate.text=ArriveAGate;
Baggage.text=BaggageClaim;
}

当我运行它时,它给了我这个:

2013-02-09 21:51:40.262 Places[7083:c07] -[__NSArrayI isEqualToString:]: 无法识别的选择器发送到实例 0x8262b502013-02-09 21:51:40.263 Places[7083:c07] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSArrayI isEqualToString:]:无法识别的选择器发送到实例 0x8262b50 '

并强调这一点:

返回 UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

我的代码看起来很糟糕,或者至少有人可以解释一下这个错误可能意味着什么?

这是我正在使用的。 http://pastebin.com/vv8ScBfZ

对不起,我对这一切都很陌生。

感谢任何提示!

最佳答案

看起来 FlightStatus 是一个包含一个对象的数组(一个包含一堆键的字典)。因为它是一个数组,所以您必须先获取该对象,然后才能在其包含的字典上使用 valueForKey: 。修复它的最简单方法是更改​​它:

NSArray *FlightStatus =  [flighttrackjson objectForKey:@"flightStatuses"];

为此:

NSDictionary *FlightStatus =  [[flighttrackjson objectForKey:@"flightStatuses"] lastObject];

关于ios - 在 iOS 中解析 JSON 时遇到一些错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14794235/

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