내 응용 프로그램은 데이터 배열을 포함하여 내 PHP 웹 서비스에서 json 응답을 수신합니다. webservice에서 배열을 인쇄하면 잘 보이는 내 응용 프로그램에서 다음을 받게됩니다.ios JSON이 문자열 값을 구문 분석합니다. <null>
NSLog(@"data: %@", [[NSString alloc] initWithData:downloaddata encoding:NSASCIIStringEncoding]);
출력 : 아이폰 OS
[0] => Array
(
[id] => 3
[title] => some title //MySQL varchar(60), utf8_unicode_ci
[description] => some description //MySQL text, utf8_unicode_ci
[type] => AUDIO //MySql enum
[created] => 2013-02-25 00:00:00
[edited] => 2013-02-25 00:00:00
[version] => 1
[courserooms_id] => 1
)
[1] => Array
(
[id] => 4
[title] => some other title
[description] => some other description
[type] => MOVIE
[created] => 2013-02-12 00:00:00
[edited] => 2013-02-14 00:00:00
[version] => 1
[courserooms_id] => 1
)
제가 NSJSONSerialization를 이용하여 수신 된 데이터를 분석.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSError* error;
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:downloaddata
options:kNilOptions
error:&error];
NSLog(@"error: %@", [error localizedDescription]);
NSLog(@"json: %@", json);
}
출력 : 출력에서
배열의 문자열 값이 null이며, 내가 왜 잘 모릅니다.
{
"courserooms_id" = 1;
created = "2013-02-25 00:00:00";
description = "<null>";
edited = "2013-02-25 00:00:00";
id = 3;
title = "<null>";
type = AUDIO;
version = 1;
},
{
"courserooms_id" = 1;
created = "2013-02-12 00:00:00";
description = "<null>";
edited = "2013-02-14 00:00:00";
id = 4;
title = "<null>";
type = MOVIE;
version = 1;
}
내 php webservice는 content-type : text/html을 반환합니다. charset = utf-8 문자열이 null로 구문 분석되는 이유는 무엇입니까?
미리 감사드립니다.
이 웹 사이트에서 JSON을 확인해보십시오. http://jsonlint.com/ JSON 코드와 유효성 검사를 붙여 넣기 만하면됩니다. – HernandoZ