ali
ali

Reputation: 85

parsing json data giving error

Im fetching JSON data from this link.

http://www.krsconnect.no/community/api.html?method=event&appid=620&eventid=15946&affecteddate=1310515200000

I want to store all the required elemnts like image-medium title etc in aDetail object of Detail class but its giving error.

Here is my code:

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.krsconnect.no/community/api.html?method=event&appid=620&eventid=15946&affecteddate=1310515200000"]];


NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSDictionary *object = [parser objectWithString:json_string error:nil];
NSArray *results = [parser objectWithString:json_string error:nil];


for (int i=0; i<[results count]; i++) {

    NSDictionary*dictOne=[results objectAtIndex:i];
    Detail  *aDetail = [[Detail alloc] initWithDictionary:[results objectAtIndex:i]];       

    [appDelegate.descriptionArray addObject:aDetail];

     }

Upvotes: 0

Views: 219

Answers (2)

priyanka
priyanka

Reputation: 2076

NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];

NSError *error;

SBJSON *json = [[SBJSON new] autorelease];

id obj = [json objectWithString:json_string error:&error];

if ([obj isKindOfClass:[NSDictionary class]]) {

           [appDelegate.descriptionArray addObject:obj];

}else if ([obj isKindOfClass:[NSArray class]]) {

         for (NSDictionary *aDetail in obj) {

              [appDelegate.descriptionArray addObject:aDetail];

         }
}

Upvotes: 0

Radu Lucaciu
Radu Lucaciu

Reputation: 706

that's not how you use SBJSon. Try this:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.krsconnect.no/community/api.html?method=event&appid=620&eventid=15946&affecteddate=1310515200000"]];


    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
    NSDictionary *object = [json_string JSONValue];

Upvotes: 1

Related Questions