Search code examples
iphoneiosipadsbjson

SBJSON parser low memory warning


enter image description hereenter image description hereI am working on JSON data parsing with lots of images downloading and data parsing.I have following code for parsing

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
  {   

     NSString *responseString = [[NSString alloc] initWithData:webdata encoding:NSASCIIStringEncoding];
     [webdata release];
     [connection release];
     NSDictionary *values = [(NSDictionary*)[responseString JSONValue] objectForKey:@"UserId"];
     NSDictionary *Active = [(NSDictionary*)[responseString JSONValue] objectForKey:@"Active"];
     [responseString release];
     NSString *UserID=[NSString stringWithFormat:@"%@",values];
     NSString *Status=[NSString stringWithFormat:@"%@",Active];
     [WSDelegate WServiceResponseMsg:@"WS_Authenticate_User" withResponse:UserID forParam:Status];
}

I have many classes with above code for parsing but app crashes after some time interval because of SBJSON parser.In instrument it gives app crashed because of low memory warning.enter image description here


Solution

  • Finally got solution.Just use below line for JSON parsing.Remove NSMutableDictionary and use id :

     NSError *jsonError = nil;
    
     id allValues = [NSJSONSerialization JSONObjectWithData:webdata
                                                       options:0
                                                         error:&jsonError];
    
     NSArray *array = [allValues objectForKey:@"Contestants"];