编写JSON数据/ NSDictionary并再次读取它的最简单方法是什么?我知道有NSFileManager,但是有没有一个开源框架库可以让这个过程更容易? iOS5 NSJSONSerialization类是否支持将数据写入磁盘?
答案 0 :(得分: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);
答案 1 :(得分:1)
您似乎必须确保路径中的目录存在,否则您的应用将在使用+ writeJSONObject:toStream:options:error:
时挂起并消耗100%的CPU。文件本身将由流创建。