读取正确完成但在我写文件时它不会在Json文件中写入数据.
这是我的代码.
//reading Json file....Nsstring *filePath = [[NSBundle mainBundle] pathForResource:@"bookmark" ofType:@"Json"];NSData *content = [[NSData alloc] initWithContentsOffile:filePath];NSArray *bookmarkJson=[NSJsONSerialization JsONObjectWithData:content options:0 error:nil];//this contains array's of dictionary....NSDictionary *newBookmark=@{@"index":@"1.1.1.1",@"text":@"header",@"HTMLpage":@"page_name"};//take new array to add data with prevIoUs oneNSMutableArray *temp=[[NSMutableArray alloc]initWithArray:bookmarkJson];// add object to new array...[temp insertObject:newBookmark atIndex:0];//Now serialize temp data....NSData *serialzedData=[NSJsONSerialization dataWithJsONObject:temp options:0 error:nil];Nsstring *saveBookmark = [[Nsstring alloc] initWithBytes:[serialzedData bytes] length:[serialzedData length] enCoding:NSUTF8StringEnCoding];//Now i write Json file..... [saveBookmark writetofile:@"book@R_207_5020@on" atomically:YES enCoding:NSUTF8StringEnCoding error:nil];
在“saveBookmark”(Nsstring)对象中我得到了正确的文件格式但在book@R_207_5020@on文件中我没有得到任何新值.
请在这件事上给予我帮助……
解决方法 编辑:正如@IulianOnofrei正确指出的那样,使用文档目录来读/写文件而不是资源目录.使用这些方法读取和写入数据,您的问题应该解决:
- (voID)writeStringTofile:(Nsstring*)aString { // Build the path,and create if needed. Nsstring* filePath = [NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0]; Nsstring* filename = @"book@R_207_5020@on"; Nsstring* fileAtPath = [filePath stringByAppendingPathComponent:filename]; if (![[NSfileManager defaultManager] fileExistsAtPath:fileAtPath]) { [[NSfileManager defaultManager] createfileAtPath:fileAtPath contents:nil attributes:nil]; } // The main act... [[aString dataUsingEnCoding:NSUTF8StringEnCoding] writetofile:fileAtPath atomically:NO];}- (Nsstring*)readStringFromfile { // Build the path... Nsstring* filePath = [NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,YES) objectAtIndex:0]; Nsstring* filename = @"book@R_207_5020@on"; Nsstring* fileAtPath = [filePath stringByAppendingPathComponent:filename]; // The main act... return [[Nsstring alloc] initWithData:[NSData dataWithContentsOffile:fileAtPath] enCoding:NSUTF8StringEnCoding];}
代码礼貌来自另一个SO答案:Writing and reading text files on the iPhone
当然,第一次尝试从文档目录中读取此文件时,您将无法获得任何内容,因此,如果文件不存在,可能第一步是将文件复制到那里.
希望这可以帮助.
总结以上是内存溢出为你收集整理的如何在ios中编写json文件全部内容,希望文章能够帮你解决如何在ios中编写json文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)