今天打算把項目中的一些數據保存到沙盒中的plist文件诸尽。用來以后使用蠢箩,但是怎么都不能進行寫入。
后來在網上查看了一下隙疚。如果是服務器返回的有些字段是 null 壤追。這個是不能寫入成功的。
把null改成了"" 就可以寫入成功供屉。
/**
通過給json文件名轉換成plist并保存
@param pathString 本地json文件名
@param fileName 要保存的plist文件名
*/
+ (void)jsonWriteToPath:(NSString *)pathString fileName:(NSString *)fileName{
NSString *path = [[NSBundle mainBundle] pathForResource:pathString ofType:nil];
NSLog(@"path = %@",path);
NSData *receiveData = [NSData dataWithContentsOfFile:path];
// 獲得json 先轉成字符串
NSString *receiveStr = [[NSString alloc] initWithData:receiveData encoding:NSUTF8StringEncoding];
// 字符串在生成NSData
NSData *data = [receiveStr dataUsingEncoding:NSUTF8StringEncoding];
// 在解析
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSString *filePath = [NSString stringWithFormat:@"/Users/study/Desktop/%@", fileName];
NSLog(@"filePath = %@",filePath);
NSLog(@"-------------------------------------------");
if([jsonDict writeToFile:filePath atomically:YES]){
NSLog(@"------寫入文件------success");
}
else{
NSLog(@"------寫入文件------fail,error==");
}
}