2016-02-12 1 views
-1

Je dois faire une demande de poste JSON avec les paramètres de requête suivants,Comment faire une demande de publication JSON?

{ 
    "method":"login", 
    "data":{ 
     "username":"korea", 
     "password":"123456" 
    } 
} 

J'utilise le code suivant pour en faire la demande,

NSString *jsonRequest = [NSString stringWithFormat:@"{""\"\method:\"\login\"\"\,""\data:\"{\"\"username\":\"%@\",\"password\":\"%@\"}",username,password]; 
    NSLog(@"Request: %@", jsonRequest); 

    NSURL *url = [NSURL URLWithString:@"http://myurl..."]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; 
    NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]]; 

    [request setHTTPMethod:@"POST"]; 
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
    [request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"]; 
    [request setHTTPBody: requestData]; 

    NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self]; 

Je dois obtenir la réponse, mais je ne suis pas capable pour obtenir la réponse

+0

ont u vérifié avec ce ht tp: //stackoverflow.com/a/15749527/5362916 –

+0

se référer http://stackoverflow.com/questions/15516823/create-a-json-string-in-objective-c – Signare

+0

ouais j'ai essayé ces exemples encore le problème persiste –

Répondre

2

Essayez cette

NSDictionary *objectDic = @{@"username" : username, @"password" : password}; 
    NSDictionary *dataDic = @{@"data" : objectDic}; 
    NSDictionary *methodDic = @{@"method" : @"login", @"data": dataDic}; 

    NSData *requestData = [NSJSONSerialization dataWithJSONObject:methodDic 
               options:NSJSONWritingPrettyPrinted 
               error:nil]; 
    [request setHTTPBody: requestData];