외부 API로 요청을 보내고 SBJson parser으로 응답을 구문 분석합니다. 그러나, 나는 응답이 너무 길다는 것을 의심한다, 그것은 어떻게 든 뒤죽박죽이되고있다.connectionDidFinishLoading의 데이터에서 JSON을 구문 분석 할 수 없습니다. 데이터가 너무 많습니까?
내 mainviewcontroller.h 파일에 mainviewcontroller.m 파일의 연결 방법으로 사용할 수 있도록 NSMutableData *receivedData;
을 설정했습니다.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *dataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
NSArray *allData = [dataString JSONValue];
}
그러나, 나는 JSON가 제대로 포맷되지 않은 말하는 오류의 무리를 얻을 :
그러나, 연결로드가 완료 후, 나는 다음 실행합니다. JSON을 아주 오래 -하지만 여기저기서 보면, 예를 들어 아래의 "updated_at"와 같은 문제가 있습니다.
{
"id": 7844333,
"position": 3,
"content": "Cell height is off by 5 pixels",
"created_at": "2012-06-04T20:31:30-05:00",
"updated_at": "2ator": {
"id": 98258,
"name": "Brian"
}
는 내가 있음에 업데이트됩니다 위 일어날 것이라고 생각한 것은 "2012-06 ... 등"과 다음 키 - 값 항목을 만든 것의 값이 {ID, 이름을}하지만 어떻게 든 뒤죽박죽 있어요 에 업데이트 됨
누구나 비슷한 문제가 있습니까? 문제가 JSONValue와 관련이 있다고 생각하지 않습니다. 구문 분석되기 전에 dataString을 nslog 아웃해야하고 JSON 오류를 찾을 수있는 곳이 있기 때문입니다.
내가 말하고자하는 것은 NSString *dataString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
은 단지 긴 문자열이지만 뒤죽박죽이기 때문에 나쁜 JSON이 포함되어 있다는 것입니다.
브라우저의 URL로 이동하면 어떻게됩니까? (단지 서버에 문제가 없다는 것을 100 % 확실하게 확인하십시오.) – deanWombourne
그렇지 않으면 NSURLConnection 델리게이트에서받은 데이터를 처리하는 코드를 추가 할 수 있습니까? 도착한 데이터를 확인하기 위해받은 각 데이터를 NSLog로 확인할 수 있습니까? – deanWombourne
브라우저에 올바른 JSON 데이터가 표시됩니다. 하나 하나를 추가하여 receiveData를 작성하려고하면 혼란 스럽습니다. 위의 코드를 추가하십시오. –