I send some credentials to a web-service.
I can get the responce as NSData or as an NSString.
Whats the simpleist way to convert the (NSData or NSString)JSON to a NSDictionary so I can process it?
Building for iOS4.3 Many Thanks, -Code
I send some credentials to a web-service.
I can get the responce as NSData or as an NSString.
Whats the simpleist way to convert the (NSData or NSString)JSON to a NSDictionary so I can process it?
Building for iOS4.3 Many Thanks, -Code
From iOS 5.0 and on you can use NSJSONSerialization
, docs here.
There is a good tutorial on how to use it, here.
Use this :
NSString *urlString = [NSString stringWithFormat:kURLString,self.chapter,self.page];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[urlString dataUsingEncoding:NSISOLatin1StringEncoding]];
NSData* responseData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSISOLatin1StringEncoding];
NSDictionary* result = [(NSDictionary*)[responseString JSONValue] objectForKey:@"Result"];
I use SBJson
NSArray *arrObj = (NSArray*)[[JsonParser sharedJsonParser] getObjectsFromJsonString:responseString];
response string is a JSON string here
Download SBJsonParser Framework using the link, http://github.com/stig/json-framework/downloads and add required classes to your project (SBJsonParser.h).
Import SBJsonParser.h and use the following code,
SBJsonParser *parser = [[SBJsonParser alloc] init];
//dictionary with name,id
NSDictionary *jsonObject = [parser objectWithString:jsonString error:NULL];
//name array
NSMutableArray *nameArray = [[NSMutableArray alloc]init];
for (NSMutableDictionary *dic in jsonObject){
[nameArray addObject:[dic valueForKey:@"name"]];
}