iOS から JSON を送信しようとしています。これは私がこれまでに持っているものです:
+ (NSDictionary *)SendJSON:(NSString *)jsonString toAddress:(NSString *)address
{
NSData *postData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:address]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
NSURLResponse *response;
NSData *POSTReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:POSTReply options:kNilOptions error:nil] );
NSDictionary *jsonresponse = POSTReply ? [NSJSONSerialization JSONObjectWithData:POSTReply options:kNilOptions error:nil] : nil;
return jsonresponse;
}
次のように jsonString を送信すると、正常に動作します。
NSString *jsonString = [NSString stringWithFormat:@"username=%@&password=%@", self.txtUsername.text, self.txtPassword.text];
しかし、JSON 形式を使用して送信しようとすると:
@"{ \"username\" : \"%@\", \"password\" : \"%@\" }"
なぜうまくいかないのですか?
PS: この情報は Rails サーバーに送信されています。