奇怪的JSON解析错误?

奇怪的JSON解析错误?,json,parsing,nsstring,nsarray,nsurlconnection,Json,Parsing,Nsstring,Nsarray,Nsurlconnection,我曾经能够完美地解析这个JSON,没有任何错误,但突然它停止了工作,它不是我的API键 这就是我试图解析的内容: 这是我的解析代码: NSError *myError = nil; NSDictionary *flighttrackjson = [NSJSONSerialization JSONObjectWithData:jsonresponse options:NSJSONReadingMutableLeaves error:&myError]; NSArray *FlightSt

我曾经能够完美地解析这个JSON,没有任何错误,但突然它停止了工作,它不是我的API键

这就是我试图解析的内容:

这是我的解析代码:

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;
当我运行该命令时,会出现以下错误:

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI isEqualToString:]: unrecognized selector sent to instance 0x8aa85f0'
不,我没有尝试将数组的值赋给字符串。所以我在这里很困惑

想法

谢谢

不,我没有尝试将数组的值赋给字符串

哦,是的,你知道

FlightStatus = [flighttrackjson objectForKey:@"flightStatuses"];
FlightID = [FlightStatus valueForKey:@"flightId"];
FlightStatus
是一个数组,而不是一个字典(例如,使用JSONlint漂亮地打印JSON,您将看到它)

此外:我怀疑您的代码中有几个类似的错误,其中一个特别的错误是
flightId
对应于
NSNumber
,而不是
NSString
——您也会因此而崩溃


请研究JSON的官方引用和“代码> NSjSunSerialSerial类的文档,以查看哪种JSON数据类型映射到哪些基础类(顺便说一下,这是非常合乎逻辑的)。

读取错误消息。看看它是在哪里升起的。@HotLicks不要期待不可能的事情谢谢你的建议,我一定会读更多的书来教育自己。