NSJSONSerialization
zwraca null, gdy próbuję zaimplementować konkretapi z serwera, ale inne aplikacje z serwera działają dobrze, gdy wypróbowałem api w sieci, zwraca dane typu json, i sprawdziłem to również w przeglądarce json i działało dobrze, NSData
również zwraca niektóre dane, czy ktoś może mi pomóc przejść przez to?
NSString *urlString = @"url";
NSURL *url = [NSURL URLWithString:urlString];
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:url];
_dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if(error != nil){
NSLog(@"JSON Error: %@", error);
return;
}
Próbowałem powyższego pisemnego kodu.
Odpowiedzi:
2 dla odpowiedzi № 1Problem jest Sekwencje ewakuacyjne w twoim adresie URL i nie uciekniesz im. Musisz poprawnie uciec z tych sekwencji.
NSString *urlString = @"url";
NSString *encodedString = [urlString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:encodedString];
- Spojrzeć na Dokumentacja.
- Sprawdź również Sekwencje ewakuacyjne.
Spróbuj tego :
NSString *urlString = @"url";
NSURL *myUrl = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
1 dla odpowiedzi nr 2
Zrobić NSURLConnection
i poproś o JSON
z NSURLRequest
ponieważ nie sądzę, że "json" jest rzeczywistym plikiem, który ma zawartość, więc możesz go użyć dataWithContentsOfURL: