如何在ios中编写json文件

如何在ios中编写json文件,第1张

概述在这里,我正在阅读和编写一个json文件. 读取正确完成但在我写文件时它不会在json文件中写入数据. 这是我的代码. //reading Json file....NSString *filePath = [[NSBundle mainBundle] pathForResource:@"bookmark" ofType:@"json"];NSData *content = [[NSData 在这里,我正在阅读和编写一个Json文件.

读取正确完成但在我写文件时它不会在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文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存