私のアプリは、php Web サービスから、データの配列を含む json 応答を受け取ります。Web サービスで配列を印刷すると、アプリで次のように表示されます。
NSLog(@"data: %@", [[NSString alloc] initWithData:downloaddata encoding:NSASCIIStringEncoding]);
出力:
[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
)
iOS では、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 Web サービスは content-type: text/html; を返します。charset=utf-8 文字列が null に解析される理由は何ですか?
前もって感謝します!