この問題に関する多くの Q/A を読みましたが、自分の状況に合った回答が見つかりませんでした。
PHP で作成した REST サービスから JSON 応答を取得します。これは私のコードです:
NSURLResponse *response = nil;
NSError *theError1 = nil;
NSError *theError2 = nil;
NSURL *webServiceUrl = [NSURL URLWithString:@"http://..."];
NSURLRequest *request = [NSURLRequest requestWithURL:webServiceUrl cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
NSData *theData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&theError1];
NSString *dataString = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
id json = [NSJSONSerialization JSONObjectWithData:theData options:NSJSONReadingAllowFragments | NSJSONReadingMutableContainers error:&theError2];
if (theError2 != nil)
NSLog(@"%@", theError2);
ブラウザーで REST 呼び出しを呼び出すと、次の応答が表示されます。これは、XCode がログに記録するものと同じようです。
{
"Name": "REST Service",
"Product": "REST Test",
"Version": "1.0.0.0",
"Copyright": "2013 Test Company"
}
ただし、上記のコードを実行すると、次のエラーが作成されてログに記録されます。
エラー Domain=NSCocoaErrorDomain Code=3840 「データが破損しているため、データを読み取ることができませんでした。」(文字 3 付近の値が無効です。) UserInfo=0x100547430 {NSDebugDescription=文字 3 付近の値が無効です。}
私は何を間違っていますか?