【问题标题】:How to send NSDate in JSON Format through AFNetworking in iOS?如何通过 iOS 中的 AFNetworking 以 JSON 格式发送 NSDate?
【发布时间】:2016-08-29 05:50:13
【问题描述】:

如何在 iOS 中通过 AFNetworking 以 JSON 格式发送NSDate? Json 请求 -

{
    "from_date" : "11/11/2014",
    "to_date" : "11/11/2017"
}

代码 -

// Formats the date chosen with the date picker.
- (NSString *)formatDate:(NSDate *)date
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterShortStyle];
    [dateFormatter setDateFormat:@"dd'/'MM'/'yyyy"];
    NSString *formattedDate = [dateFormatter stringFromDate:date];
    return formattedDate;
}
    - (void)updateToDateField:(id)sender
    {
        UIDatePicker *picker = (UIDatePicker*)toDateField.inputView;
        toDateField.text = [self formatDate:picker.date];
    }
    // Storing the to date in NSString
        dashboard.toDateString = toDateField.text;

【问题讨论】:

  • 你能展示一些你期望的输出吗
  • @Anbu.Karthik - 我想发送包含日期的 JSON 请求,我在 Postman 中得到了正确的响应,但是当我运行我的代码时,afnetworking 给出错误 - 状态 500。
  • 好的没问题你能显示代码吗
  • @NDoc - 我想,我的日期格式化程序和你的一样,而且我正在创建字典。

标签: ios json nsdate afnetworking


【解决方案1】:

将您的NSDate 转换为String 并发送,就像您发送其他参数一样。

【讨论】:

    【解决方案2】:

    试试这个

     NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
       [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
       NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
    

    现在在你的 json 中使用 dateString

    【讨论】:

      【解决方案3】:

      我认为您在使用 AFNetworking 管理类调用 API 时忘记序列化您的请求。

      尝试在代码中添加以下行。

          AFHTTPRequestOperationManager *manager;
           manager = [AFHTTPRequestOperationManager manager];
           manager.requestSerializer = [AFJSONRequestSerializer serializer];
      [manager POST:strRequestUrl parameters:dictParams success:^(AFHTTPRequestOperation *operation, id responseObject)
              {
      
                  NSString *msg;
                  NSData *jsonData = [NSJSONSerialization dataWithJSONObject:responseObject
                                                                     options:NSJSONWritingPrettyPrinted
                                                                       error:nil];
                  NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
      
      
              } failure:^(AFHTTPRequestOperation *operation, NSError *error)
              {
      
                  NSLog(@"request : %@",operation.request);
                  NSLog(@"Error is %@",error);
      
              }];
      

      【讨论】:

      • 我已经添加了这个。我认为,会有一些格式来发送日期字符串,以便 .net 服务器 web api 接受它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-17
      • 2015-10-07
      • 1970-01-01
      相关资源
      最近更新 更多