Convert Dictionay To String For GET API

NSDictionary+UrlEncoding.h

#import <Foundation/Foundation.h>

@interface NSDictionary (UrlEncoding)

– (NSString *)urlEncodedString;

@end

NSDictionary+UrlEncoding.m

#import “NSDictionary+UrlEncoding.h”

// helper function: get the string form of any object

static NSString *toString(id object) {

    return [NSString stringWithFormat: @”%@”, object];

}

// helper function: get the url encoded string form of any object

static NSString *urlEncode(id object) {

    NSString *string = toString(object);

    NSCharacterSet *characterSet = [NSCharacterSet URLHostAllowedCharacterSet];

    return [string stringByAddingPercentEncodingWithAllowedCharacters:characterSet];

  //  return [string stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];

}

@implementation NSDictionary (UrlEncoding)

-(NSString*) urlEncodedString {

    NSMutableArray *parts = [NSMutableArray array];

    for (id key in self) {

        id value = [self objectForKey: key];

        NSString *part = [NSString stringWithFormat: @”%@=%@”, urlEncode(key), urlEncode(value)];

        [parts addObject: part];

    }

    return [parts componentsJoinedByString: @”&”];

}

@end

ViewController.m

#import “NSDictionary+UrlEncoding.h”

– (void)viewDidLoad {

    [super viewDidLoad];

       

    

    NSDictionary *dictionaryNew = @{@”key”: @”28c15c0b405c1f7a107133edf5504367″,

                                    @”name”: @”Rohan Kadam”,

                                    @”mobile_no”: @”9111111111,

                                    @”email_id”: @”rohank989@gmail.com”,

                                    @”password”: @”1234″,

                                    @”mode”: @”R”,};

    

    NSLog(@”%@”,dictionaryNew);

    NSLog(@”%@”,[dictionaryNew urlEncodedString]);

    

    

    NSString *stringURLForGetResponce = [NSString stringWithFormat:@”%@%@”,@”http://yourapi/webservices/userRegistration?&#8221;,[dictionaryNew urlEncodedString]];

    NSLog(@”%@”,stringURLForGetResponce);

    

    // Do any additional setup after loading the view, typically from a nib.

}

Leave a comment