Xcode如何NSLog一个JSON

时间:2011-08-17 18:47:24

标签: objective-c xcode json nslog uidevice

有没有办法让NSLog打印出整个JSON文件。我现在正在说

NSString *deviceInfo = [NSString stringWithFormat:@"%@ %@",
                        [[UIDevice currentDevice]model], [[UIDevice currentDevice]systemVersion]];
NSDictionary *json = [deviceInfo JSONValue];
NSLog(@"json file = %@", json);

它正在打印出“json file =(null)”

由于 克林顿

2 个答案:

答案 0 :(得分:3)

我认为你误解了JSON的用途。您传递给-JSONValue的字符串不是有效的JSON字符串,因此返回nil。你也可以自己构建字典:

UIDevice *device = [UIDevice currentDevice];
NSDictionary *deviceInfo = [NSDictionary dictionaryWithObjectsAndKeys:[device model], @"deviceModel", [device systemVersion], @"deviceSystemVersion", nil];

然后,如果您想要对象的JSON字符串表示(例如,用于发送到您的服务器):

NSString *jsonDeviceInfo = [deviceInfo JSONRepresentation];

答案 1 :(得分:1)

您确定您的代码正常运行吗?你的NSDictionary似乎没有......

请您发布JSONValue的实现吗?

如果对象未按预期打印,您可以始终通过扩展名覆盖-(NSString *) description方法,它将打印您指定的方式:)