Reputation: 2545
Currently i am working in iPhone application, Using JSON to send a request and get response to read it.
Request (example url):
http://www.Genifer.com/index.php?q=api/username-available&username=stephen
I refer the Response from browser (Firefox):
{"status":true,"result":true}
I tried in xcode:
NSString *urlString = [NSString stringWithFormat:@" http://www.Genifer.com/index.php?"];
NSString *parameter = [NSString stringWithFormat:@"q=api/username-available&username=stephen"];
NSData *parameterData = [parameter dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
[theRequest addValue: @"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody:parameterData];
NSURLConnection *connection = [[NSURLConnection alloc]
initWithRequest:theRequest delegate:self];
if( connection )
{
mutableData = [[NSMutableData alloc] init];
}
else
{
}
-(void) connection:(NSURLConnection *) connection didReceiveResponse:(NSURLResponse *)response
{
[mutableData setLength:0];
NSLog(@"mutableData:%@",mutableData);
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[mutableData appendData:data];
NSLog(@"mutableData:%@",mutableData);
}
-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
[mutableData release];
[connection release];
return;
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *jsonStr = [[NSString alloc] initWithData:mutableData encoding:NSUTF8StringEncoding];
NSLog(@"JSonSTr : %@", jsonStr);
}
Response comes:
JSonSTr : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
i refer the request in Firefox browser get the response like {"status":true,"result":true}. But i tried to integrate same request in xcode, but the response comes different, How to fix this? Please help me
Thanks in Advance
Upvotes: 0
Views: 605
Reputation: 3054
Can you check with this
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSDictionary *jsonDict = [jsonString JSONValue];
Check what values pop up in your dictionary by doing something like this
NSDictionary *question = [jsonDict objectForKey:@"status"];
Upvotes: 2