我只是想知道这个NSLog
vs JSON问题我已经有一段时间了。
所以我有responseObject
(类型为id
),我可以简单地NSLog
吗?
当我这样做时,我会看到一个类似JSON的文本,但是存在一些大问题,而且我不知道它是真正的JSON问题还是NSLog
失败了
我可以相信NSLog
这个吗?或者,如果我想打印它和网络方式",我还需要做其他事吗?
答案 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]);
希望,这会奏效。