【发布时间】:2012-08-09 11:44:38
【问题描述】:
我是 iOS 新手。我像这样创建了JSON NSDictionary:
NSArray *keys = [NSArray arrayWithObjects:@"User", @"Password", nil];
NSArray *objects = [NSArray arrayWithObjects:@"Ali", @"2020", nil];
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
然后我可以通过两种机制将其转换为NSString:
1)
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:0 error:&error];
NSString *jsonString = nil;
if (! jsonData) {
NSLog(@"Got an error: %@", error);
} else {
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
2)
NSString *jsonString = [jsonDictionary JSONRepresentation];
第二种方式我得到这个warning:
Instance method '-JSONRepresentation' not found (return type defaults to 'id')
但是当我运行项目时,两种机制都可以正常工作:
NSLog(@"Val of json parse obj is %@",jsonString);
您知道如何以第二种方式删除警告吗?
我的主要目标是 POST 使用 RESTful Web 服务将此 json 字符串发送到外部数据库。
基本上考虑到我的主要目标,哪种方式更好?
【问题讨论】:
标签: iphone objective-c ios xcode