Objective-C 및 JSON에 익숙하지 않아이 작업을 수행하는 방법에 대해 혼란스러워합니다. 자습서를 찾아 보았고 JSON이 유효한지 확인했습니다.Objective-C에서 JSON 구문 분석
JSON 구문 분석을 통해 액세스하려는 SQL 서버 데이터베이스가 있습니다. 내 JSON이 유효한지 확인했습니다. 그러나 JSON을 Objective-C로 파싱하려고 할 때마다 항상 null이 반환됩니다. 나는 NSLog
Objective-C 및 JSON에 익숙하지 않아이 작업을 수행하는 방법에 대해 혼란스러워합니다. 자습서를 찾아 보았고 JSON이 유효한지 확인했습니다.Objective-C에서 JSON 구문 분석
JSON 구문 분석을 통해 액세스하려는 SQL 서버 데이터베이스가 있습니다. 내 JSON이 유효한지 확인했습니다. 그러나 JSON을 Objective-C로 파싱하려고 할 때마다 항상 null이 반환됩니다. 나는 NSLog
쉬운 하나를 수행 할 때
이NSString *urlString = [NSString stringWithFormat:@"http://quacknasty.com/service.php"];
NSURL *url = [NSURL URLWithString:urlString];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"test%@", json);
json
항상 null을 반환 : URL을 열고 다음
[
{
"ID": 1,
"Username": "Cray",
"Password": "fake",
"Active": 0,
"LastLogin": null
}
]
내 목표 - C 코드입니다 : 여기
내 JSON입니다 브라우저에서. 당신은
Connection established.\n
편집의 에코를 제거해야
Conneection established.
[{"ID":1,"Username":"Cray","Password":"fake","Active":0,"LastLogin":null}]
나는 : 당신은 당신이 올바른 JSON이없는 것을 볼 수 당신은 루트 객체로 NSArray
를 사용할 수있는 JSON 문자열 시작하기 때문에 []
편집 II와 함께 다음과 같이는 또한 올바른 HTTP 헤더 필드를 설정해야합니다
header('Content-Type: application/json; charset=utf-8');
요청하기. 응답은 다음과 같습니다
는Conneection established.
<br />[{"ID":1,"Username":"Cray","Password":"fake","Active":0,"LastLogin":null}]
그것은 당신이 "오류"라는 그 PARM를 참조 JSON 형식
아니다. 그것은 목적이 있습니다. NSJSONSerialization의 결과가 nil이면 NSLog를 사용하여 "error"를 출력합니다. NSLog (@ "JSON error = % @", 오류), ' –
http://quacknasty.com/service.php에 액세스하려고했습니다. Google 크롬 브라우저를 사용하여 빈 []을 반환했습니다. 서버에서 JSON을 반환합니까? 그런데 위의 코드에서 urlString은 중복되어 있습니다. [NSURL URLWithString : @ "http : // ....."]; 대신 [NSURL URLWithString : urlString]; urlString 변수를 문자열 리터럴 @ "http : // ...."로 줄일 수 있기 때문에; – Zhang
@ Zhang : 기술적으로'[]'은 절대적으로 유효한 JSON입니다! 그는 어제부터 그의 서버 코드를 변경했다. 내 대답을 보자. 원래 API 응답이있다. @ user3871044 : 내 대답으로 문제가 해결 되었습니까? 그럼 받아 들일 것을 기억하십시오 :) –