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

残念ながら、Facebook 関連の結果を検索していたところ、答えが Objective C 固有のものでした。

Objective-C / iOS: オブジェクトの配列を JSON 文字列に変換する

使えることが判明

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

リクエストから取得した配列を JSON に変換します。申し訳ありませんが、これが少なくとも将来誰かに役立つことを願っています!

于 2013-04-05T09:03:55.440 に答える