ich einen Fehler mit dem folgenden Code bin immer wenn einige json null ist, obwohl ich das erst zu prüfen, versuchen:IOS: Wie JSON-Objekt zu überprüfen, ist nicht null
Edit: Vorstehende Code:
NSData* data = [NSData dataWithContentsOfURL: kItemsURL];
//previous line grabed data from api.
if (data) {
[self performSelectorOnMainThread:@selector(fetchData:) withObject:data waitUntilDone:YES];
}
- (void)fetchData:(NSData *)jsonFeed {
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:jsonFeed options:kNilOptions error:&error];
//Original code provided
if (![[json objectForKey:@"items"] isKindOfClass:[NSNull class]]) {
NSLog(@"got here");
NSLog(@"json%@",json);
latestItems = [[json objectForKey:@"items"]mutableCopy];
}
Gibt es eine bessere Möglichkeit zu überprüfen, Json ist nicht null?
Hier ist Fehlerausgang:
2016-05-03 13:05:43.820 testApp[407:60b] got here
2016-05-03 13:05:43.821 testApp[407:60b] json{
items = "<null>";
}
NSNull mutableCopyWithZone:]: unrecognized selector sent to instance 0x3ac26a70
2016-05-03 13:05:43.825 ChallengeU[407:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull mutableCopyWithZone:]: unrecognized selector sent to instance 0x3ac26a70'
Weisen Sie '[json objectForKey: @" items "]' einer Variablen zu. Protokolliere die 'class' dieser Variablen. Aktualisieren Sie Ihre Frage mit diesen Änderungen und dieser Ausgabe. Verwenden Sie diese Variable in der Anweisung 'if' und dem Aufruf von 'mutableCopy'. – rmaddy
Es ist ein Wörterbuch: json class__NSCFDictionary. Ich habe den obigen Code oben hinzugefügt. – zztop
Das habe ich nicht gefragt. Wir wissen, dass 'json' ein Wörterbuch von Ihrer ursprünglichen Frage ist. Was ist das Ergebnis von '[json objectForKey: @" items "]'? – rmaddy