我將json內容保存在plist文件中。在iOS中使用json數據更新plist
//Fetch json
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Sample" ofType:@"json"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
//Get json in dictionary format
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
NSLog(@"dict: %@",dict);
//Get plist path
NSString *errorDesc;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory1 = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory1 stringByAppendingPathComponent:@"SampleData.plist"];
NSLog(@"plistPath : %@",plistPath);
//Save data from json to plist
NSString *error;
data = [NSPropertyListSerialization dataFromPropertyList:dict
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error];
if(data) {
if ([data writeToFile:plistPath atomically:YES]) {
NSLog(@"Data successfully saved.");
}else {
NSLog(@"Did not managed to save NSData.");
}
}
else {
NSLog(@"%@",errorDesc);
}
而且它工作得很完美。
現在假設有人在json中添加了一個新項目。然後如何將新項目添加到plist中。 PS:在這裏,我不想重寫整個plist。我只是想檢查是否更新json。如果json更新,那麼我想通過追加新項目來更新plist。