Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS和Java-如何在用Java编程的服务器上解码UTF-8编码的NSData?_Java_Ios_Utf 8_Nsdata_Decode - Fatal编程技术网

iOS和Java-如何在用Java编程的服务器上解码UTF-8编码的NSData?

iOS和Java-如何在用Java编程的服务器上解码UTF-8编码的NSData?,java,ios,utf-8,nsdata,decode,Java,Ios,Utf 8,Nsdata,Decode,我正在从我的iPhone应用程序向服务器发送JSON,服务器是Play Framework的Java应用程序,部署在Heroku云上 这是我在应用程序中使用的代码 self.url = [NSURL URLWithString:@"http://myURL.herokuapp.com/check/"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; NSDictionary *dict = [

我正在从我的iPhone应用程序向服务器发送JSON,服务器是Play Framework的Java应用程序,部署在Heroku云上

这是我在应用程序中使用的代码

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,所以我对如何在服务器端对其进行解码感到有点困惑。

为什么要使用POST请求??他们有什么特别的吗??首先,尝试使用GET请求指向服务器,如果它正在工作,则转到POST请求。我之所以这么说,是因为我在发帖请求方面遇到了非常奇怪的问题……我试过了。服务器工作正常,正在发送结果。我唯一的问题是NSData。我不知道如何用Java处理它。我尝试了几种方法,但到目前为止运气不好。所以我将所有内容都放在请求头中并将其传递给服务器,但我知道这不是一种安全的做法。我现在有点困了。@Varundroid,你找到解决这个问题的方法了吗?你为什么使用POST请求??他们有什么特别的吗??首先,尝试使用GET请求指向服务器,如果它正在工作,则转到POST请求。我之所以这么说,是因为我在发帖请求方面遇到了非常奇怪的问题……我试过了。服务器工作正常,正在发送结果。我唯一的问题是NSData。我不知道如何用Java处理它。我尝试了几种方法,但到目前为止运气不好。所以我将所有内容都放在请求头中并将其传递给服务器,但我知道这不是一种安全的做法。“我现在有点困了。”瓦伦德里德,你找到解决这个问题的办法了吗?