如何将Json数据保存到文件并检索它

时间:2017-03-10 04:51:58

标签: xcode8 nsdata nsjsonserialization ios9.3

我知道我的问题可能很冗长,但我想分享一下我的经验,请帮我解释一下。我从服务器获得巨大的Json响应,我将它存储到Dictionary.When我正在打印它显示的字典(null)。任何人都可以解释为什么会这样发生?

经过一番研究后,我将巨大的Json响应保存到文件中,我能够从该文件中读取Json。首先它工作正常,但现在我收到此错误

  

错误域= NSCocoaErrorDomain代码= 3840“无法转换数据   字符串1070周围的字符串。“UserInfo = {NSDebugDescription = Unable   将数据转换为字符串1070周围的字符串。}

这就是我将json写入文件的方式

-(void)writeJsonDatatoFile:(NSData*)jsonData
{
NSError *errorWriting;
    NSString *dest=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true)[0] stringByAppendingPathComponent:@"file.json"];
  [jsonData writeToFile:dest atomically:YES];
}

This is how I am reading json from file
-(void*)readJsonDataFromFile
{
    NSString *source=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true)[0] stringByAppendingPathComponent:@"file.json"];
    NSError *error;
    NSError *error1;
    NSData *data=[NSData dataWithContentsOfFile:source options:kNilOptions error:&error1];
    NSLog(@"Reading Error--%@",error1);
    NSDictionary *dataDict=[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    NSLog(@"json Data From File--%@-%@",dataDict,error);
}

0 个答案:

没有答案