I am trying to fetching a JSON
file which exist in my xcode
resources using this code
-(void)readJsonFiles
{
NSString *str=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"classes.json"];
NSLog(@"Path: %@", str);
NSData *fileData = [NSData dataWithContentsOfFile:str];
NSLog(@"Data: %@", fileData);
SBJsonParser *parser = [[SBJsonParser alloc] init] ;
NSDictionary *jsonObject = [parser objectWithData:fileData];
NSLog(@"%@", jsonObject);
}
path return me this link of file path
/Users/astutesol/Library/Application Support/iPhone Simulator/6.0/Applications/A4E1145C-500C-4570-AF31-9E614FDEADE4/The Gym Factory.app/classes.json
but when I log fileData
it return me null
. I don't know where I am doing mistake.
You need to use pathforResource with resourcetype and check if there is data in your file.
That should not be nil.
It's failed to read your file for some reason. Use -dataWithContentsOfFile:options:error: to find out why.
You can follow this to get NSData from your document directory
Hope this will work for you.
Instead of appending the path, use
pathForResource:ofType:
, soThere is the solution for Swift 3 :