我可以NSLog一个JSON并看到它的真实格式?

时间:2014-09-23 12:38:04

标签: ios json nslog

我只是想知道这个NSLog vs JSON问题我已经有一段时间了。

所以我有responseObject(类型为id),我可以简单地NSLog吗?

当我这样做时,我会看到一个类似JSON的文本,但是存在一些大问题,而且我不知道它是真正的JSON问题还是NSLog失败了

我可以相信NSLog这个吗?或者,如果我想打印它和网络方式",我还需要做其他事吗?

3 个答案:

答案 0 :(得分:5)

一旦您获得了包含HTTP响应内容的NSData对象,可能使用:

NSData *data = [NSData dataWithContentsOfURL:someURL];
你经常"解析"它使用:

进入Objective-C对象
NSError *error = nil;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data
                                                     options:kNilOptions 
                                                       error:&error];

但是,您也可以通过首先将数据转换为字符串来记录数据响应:

NSString *jsonString = [[NSString alloc] initWithData:data
                                             encoding:NSUTF8StringEncoding];
NSLog(@"Response JSON=%@", jsonString);

答案 1 :(得分:1)

如果您的responseObject是类型id,并且如果您尝试使用NSLog打印它们,那么它只返回对象名称。

要获取有关JSON的更多详细信息,请访问以下网址: How to output JSon data in Objective-C

希望这会对你有所帮助。

答案 2 :(得分:-1)

执行以下格式良好的格式化响应日志。

id jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"Response : %@",[jsonResponse description]);

希望,这会奏效。