JSON 유형의 데이터에 대한 비동기 요청을 만드는 앱을 개발 해왔다. 최근에 코드에서 이상한 버그를 발견했는데 왜 그런 일인지 알 수 없습니다.비동기 요청에서 NSJSONSerialization이 null을 반환하는 경우가 있음
코드를 확인해보세요.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSError *error=nil;
result = [NSJSONSerialization JSONObjectWithData:retrievedData options:kNilOptions error:&error];
NSLog(@"Result %@",result);
NSLog(@"Retrieved data %@",retrievedData);
}
결과는 NSDictionary이고 retrieveData는 NSMutableData입니다. 99 %의 시간, 잘 작동하고 connectionDidFinishLoading이 호출되고 결과가 채워집니다. 그러나, 시간의 1 %에서 검색된 데이터는 데이터로 채워,하지만 내 결과는 널 (null)입니다 (당신이 사진을 볼 수있는 사람이
편집을 제발 도와 수 없습니다 :..? 내가 얻을 오류
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Garbage at end.) UserInfo=0x753e5c0 {NSDebugDescription=Garbage at end.}
맞습니다. 오류를 확인하는 것을 잊었습니다.고마워, 내 질문을 업데이 트 :) – Yanchi
그래서 내 문제는 아니지만 실제로 서버 측에 있습니까? 그것은 대부분의 시간이 잘 작동하기 때문에 이것을 묻는 Im, 그리고 우리는 안드로이드 애플 리케이션이 결코 발생하지 않습니다 :( – Yanchi
오류로 판단, 예. 당신은 실제 내용을 볼 문자열로'retrievedData' 변환하여 확인할 수 있습니다 이걸 JSON 검사기에 던지십시오. –