5

JSON データ/NSDictionary を書き込んで再度読み取る最も簡単な方法は何ですか? NSFileManager があることは知っていますが、このプロセスを容易にするオープン ソースのフレームワーク ライブラリはありますか? iOS5 NSJSONSerialization クラスはディスクへのデータの書き込みをサポートしていますか?

4

2 に答える 2

16

うん、NSJSONSerialization行く方法です:

NSString *fileName = @"myJsonDict.dat"; // probably somewhere in 'Documents'
NSDictionary *dict = @{ @"key" : @"value" };

NSOutputStream *os = [[NSOutputStream alloc] initToFileAtPath:fileName append:NO];

[os open];
[NSJSONSerialization writeJSONObject:dict toStream:os options:0 error:nil];
[os close];

// reading back in...
NSInputStream *is = [[NSInputStream alloc] initWithFileAtPath:fileName];

[is open];
NSDictionary *readDict = [NSJSONSerialization JSONObjectWithStream:is options:0 error:nil];
[is close];

NSLog(@"%@", readDict);
于 2012-07-27T16:42:36.763 に答える
1

パス内のディレクトリが存在することを確認する必要があるようです。そうしないと、アプリがハングし、使用時に CPU を 100% 消費します+ writeJSONObject:toStream:options:error:。ファイル自体はストリームによって作成されます。

于 2016-07-06T11:11:37.210 に答える