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.
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"MyFile" ofType:@"txt"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
Instead of appending the path, use pathForResource:ofType:
, so
NSString *str=[[NSBundle mainBundle] pathForResource:@"classes" ofType:@"json"];
NSData *fileData = [NSData dataWithContentsOfFile:str];
It's failed to read your file for some reason. Use -dataWithContentsOfFile:options:error: to find out why.
NSError* error = nil;
NSData *fileData = [NSData dataWithContentsOfFile:str options: 0 error: &error];
if (fileData == nil)
{
NSLog(@"Failed to read file, error %@", error);
}
else
{
// parse the JSON etc
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With