0

我正在使用 Objective-C 并为 iPhone 开发。

我正在向登录用户的朋友发送请求,并将数据写入文件到磁盘,如下所示:

[[FBRequest requestForMyFriends] startWithCompletionHandler:^(FBRequestConnection *connection,
                                                                       NSDictionary *results,
                                                                       NSError *error)
{
if(!error){

NSDictionary* friends = results;

NSLog(@"Found %i friends", friends.count);

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString* fileName = [docDir stringByAppendingPathComponent:@"userInfo.dat"];

if ([friends writeToFile:fileName atomically:YES]) {
    NSLog(@"Wrote friends file to disk!");
    sendFBEvent(FB_EVENT_DETAILS_FRIENDS, [fileName UTF8String]);
}
else{
    NSLog(@"Couldn't write friends details to disk!");
}

这可行,但检索并写入磁盘的文件是 XML 文件。我几乎可以肯定,在以前的版本中,我能够将文件保存为 JSON 格式,但是我已经丢失了该版本,并且不记得我是如何实现它的。

如果有人能告诉我如何以 JSON 格式文件的形式保存此文件,我将不胜感激?我以前用一种非常简单的方法完成了它,它与我目前的方法没有太大区别,但如果我能记住如何做的话,我会被诅咒的。

4

1 回答 1

0

Gah,非常抱歉,但当答案是 Objective C 的原生内容时,我正在搜索 Facebook 相关结果:

Objective-C / iOS:将对象数组转换为 JSON 字符串

原来你可以使用

NSData* jsonData = [NSJSONSerialization dataWithJSONObject:contactsToBeSynced options:NSJSONWritingPrettyPrinted error:&error];

将从请求中提取的数组转换为 JSON。对此感到抱歉,希望这至少对将来的某人有用!

于 2013-04-05T09:03:55.440 回答