【问题标题】:how to print response request in pretty from raw in ios如何在 ios 中从 raw 打印出漂亮的响应请求
【发布时间】:2016-08-23 06:33:32
【问题描述】:

我就是这样出去的

2016-08-23 11:48:04.944 LogInPage[3340:45237] requestReply: {"account-token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjhmYjI3NDEwZGNkMjQ3ZTY5MTQ1YWE4ZGZhNzY1OWVlIiwiaWF0IjoxNDcxOTMzMDg0LCJleHAiOjE0NzE5MzQ4ODQsImF1ZCI6ImJhbmRvYnJhcy5yb2xsZm9yd2FyZC5uZXQiLCJpc3MiOiJSb2xsIEZvcndhcmQgTExDIiwic3ViIjoiYWNjb3VudDpjb25zdW1lcjpub3JtYWwifQ.4gkE6Qq1TXKEvU9wyBc3aS2L73866TwTxR0sC8mcqjg","consumer":{"id":"8fb27410dcd247e69145aa8dfa7659ee","date-joined":1471933084000,"reward-multiplier":0,"verified":false,"preferences":{"daily-journal":1,"followed":1,"bonus-rolls":1},"contacts":{"name":null,"phone":null}},"user":{"id":"33e4442e9fbc4188a50448864a0bdf20","email":"has@jvnj.co","password":null,"consumer-id":"8fb27410dcd247e69145aa8dfa7659ee","business-id":null,"admin-id":null}}16

我想要这样输出

{

"account-token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjQ0NTk1OTI2ZDRhYzQyMjc4OTliMzBjODQ4NWMxMGZkIiwiaWF0IjoxNDcxOTMwODg4LCJleHAiOjE0NzE5MzI2ODgsImF1ZCI6ImJhbmRvYnJhcy5yb2xsZm9yd2FyZC5uZXQiLCJpc3MiOiJSb2xsIEZvcndhcmQgTExDIiwic3ViIjoiYWNjb3VudDpjb25zdW1lcjpub3JtYWwifQ._PmzVQ4GfoVX2QPBi6wBwslCX-IWV3jUL1lqXihAqW4",

 "consumer": {

 "id": "44595926d4ac4227899b30c8485c10fd",

 "date-joined": 1471930888000,

"reward-multiplier": 0,

 "verified": false,

"preferences": {

"daily-journal": 1,


"followed": 1,
      "bonus-rolls": 1
    }
,
    "contacts": {

  "name": null,
      "phone": null
    }
  },

 "user": {

  "id": "504559b7c57f4a0e9d6453ad18d713e6",

"email": "yryi@uri.com",

"password": null,

"consumer-id": "44595926d4ac4227899b30c8485c10fd",

 "business-id": null,

  "admin-id": null
  }
}

我的代码是

NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
    {
        NSString *requestReply = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"requestReply: %@%@", requestReply,postLength);
//        NSLog(@"Request body %@", [[NSString alloc] initWithData:[request HTTPBody] encoding:NSUTF8StringEncoding]);

    }] resume];

提前致谢

【问题讨论】:

  • 你说的“这样”是什么意思?请明确您的问题,或者至少将您的代码格式化为易于理解和可读。
  • 对不起,先生,我需要以漂亮(POST MAN)的方式,因为我正在进入原始状态,我应该在单独的行中进入,而不是在输出中混淆
  • 是的,就像 jason in out put in my xcode
  • 检查我的答案兄弟。

标签: ios objective-c json cocoa-touch http-post


【解决方案1】:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data
                                  options:0 
                                    error:&jsonError];
NSArray *keys=[json allKeys];
NSArray *values=[json allValues];
NSString *milliseconds = [NSString stringWithFormat:@"%@",[[json objectForKey:@"consumer"] objectForKey:@"date-joined"]];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:([milliseconds longLongValue] / 1000)];
NSDateFormatter *datfrm = [[NSDateFormatter alloc] init];
[datfrm setDateFormat:@"dd/MM/yyyy"];
NSString *strDate = [datfrm stringFromDate:date];
NSLog(@"The date is - %@",strDate);

打印出来的结果是

The date is - 23/08/2016

在我的代码上方,我传递的选项为零。所以如果你传递 选项为零,你得到不可变的容器

这意味着所有数组都是 NSArray,所有字典都是 NSDictionaries,所有字符串都是 NSString,依此类推,即使原始对象是可变字典、字典或字符串。

一般

不可变对象通常更安全(无需担心你下面的值会发生变化)

Serialization

【讨论】:

    【解决方案2】:
    NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
        [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
        {
            NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data
                                          options:NSJSONReadingMutableContainers 
                                            error:&jsonError];
           NSLog(@"Response = %@",json);
    
        }] resume];
    

    【讨论】:

    • @vamsi 欢迎兄弟 :-)
    • 你能帮我如何打印单个键和值
    • 我的意思是我得到这样的日期格式 "date-joined" = 1471948172000;如何转换日期格式,如 DD/MM/YYYY
    • NSDate * myDate = [NSDate dateWithTimeIntervalSince1970: 1471948172000];
    • 在它的输出像这样 "bonus-rolls" = 1; “日报”= 1;跟随 = 1; } contactDict{ name = "";电话 = ""; } date48614-03-08 04:13:20 +0000
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2021-09-07
    • 2013-12-03
    • 2018-07-30
    • 1970-01-01
    • 2022-06-22
    相关资源
    最近更新 更多