使用setHTTPBody的Json数据发布在ios中不起作用

时间:2014-11-13 10:14:17

标签: ios objective-c json

我有这个代码将NSDictonary转换为jsonbody:

    NSString *requestUrl = API_LOCATION;        
    request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:requestUrl] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

   NSError *error = nil;
   NSData *jsonData = [NSJSONSerialization dataWithJSONObject:params
                                                               options:NSJSONWritingPrettyPrinted
                                                                 error:&error];                
   if (! jsonData)
   {
          NSLog(@"jsonStringWithPrettyPrint: error: %@", error.localizedDescription);

   } else
   {
          NSString *jsonString=[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
          NSLog(@"%@", jsonString);

          [request setHTTPMethod:@"POST"];
          [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
          [request setHTTPBody:jsonData];
   }

从这段代码中我得不到服务器端的任何输出。虽然我记录jsonString我得到了:

2014-11-13 15:20:46.109 App[2341:60b]{
  "GetUserMasterOperation" : "GetUserMasterOperation",
  "do" : "INSERT",
  "Email" : "dfgdf@gmail.com",
  "UserName" : "rsgdrdsg",
  "Password" : "123",
  "MobileId" : "99D6031D-6A2A-482D-AAFF-332FC4D68795"
}

但是在将此字符串转换为NSData并将其传递给[request setHTTPBody:requestData]后,它无效。

1 个答案:

答案 0 :(得分:0)

终于解决了。实际上这段代码没有错误......我在PHP服务器端遇到了json数据的问题。