我正在将 JSON 从我的 iPhone 应用程序发送到我的服务器,该服务器是 Play Framework 的 Java 应用程序并部署在 Heroku Cloud 上。
这是我在我的应用程序中使用的代码。
self.url = [NSURL URLWithString:@"http://myURL.herokuapp.com/check/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSDictionary *dict = [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"Rajesh", @"pass", nil] forKeys:[NSArray arrayWithObjects:@"username", @"password", nil]];
NSString *jsonString = [dict JSONRepresentation];
NSLog(@"%@", jsonString);
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@", data.description);
[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
if(conn)
{
self.receivedData = [[NSMutableData alloc]init];
NSLog(@"%@", @"connection started");
}
现在我已经使用 utf-8 编码将 jsonString 编码为 NSData 。如何在服务器端对其进行解码?
奇怪的问题是,如果我尝试使用来获取正文,则会request.body().toString()
得到以下输出。
DefaultRequestBody(Some(Map()),None,None,None,None,None,false)
当我从我的 Android 应用程序发出相同类型的请求时,我只是使用request().body().asJson()
了方法并获得了我进一步使用的 JSON,但在 iOS 中,我将我的 Json 转换为 NSData,然后再将其发送到服务器,所以我对我应该如何做有点困惑在服务器端对其进行解码。