2013-08-19 287 views
0

我有JSON格式像下面我需要POST請求切斷,但來自服務器的響應是錯誤500請求失敗「JSON」

{「名字」:「沙拉斯K」,「姓氏」 「巴布」, 「moMerchantAddresses」:[{ 「電子郵件」: 「[email protected]」}]}>

NSMutableArray *objects = [NSMutableArray arrayWithObjects:@"Sharath",@"babu",@"[{\"email\":\"[email protected]\"}]", nil]; 
     NSMutableArray *keys = [NSMutableArray arrayWithObjects:@"firstName",@"lastName",@"moMerchantAddresses", nil]; 
NSMutableDictionary *jsonDict = [NSMutableDictionary dictionaryWithObjects:objects forKeys:keys]; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict 
                options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string 
                error:nil]; 

NSString *postLength = [NSString stringWithFormat:@"%d",[jsonData length]]; 

ServiceInterface *service = [[ServiceInterface alloc] init]; 
service.theDelegate = self; 
service.theSuccessMethod = @selector(responseMerchantCreationService:); 
service.theFailureMethod = @selector(requestFailedWithError:); 
[self addServiceInterfaceToServiceStack:service]; 
NSString* stringURL = [kBase_URL stringByAppendingString:@"/merchant/create"]; 

NSString* webStringURL = [stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSURL* url = [NSURL URLWithString:webStringURL]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 

[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

[request setHTTPBody:jsonData]; 
[request setTimeoutInterval:30.0f]; 


NSLog(@"request file :: %@",request); 
[service startWithRequest:request]; 
service = nil; 

請幫我在這

+0

基本http://stackoverflow.com/questions/15377212/get-the-password-from-the-webservices-url-and-access-through-that-password/15377242#15377242 – iPatel

回答

1

它可以幫助你。

NSMutableDictionary *emailDict = [[NSMutableDictionary alloc] initWithCapacity:0]; 
[emailDict setObject:@"[email protected]" forKey:@"email"]; 

NSMutableArray *emailArr = [[NSMutableArray alloc] init]; 
[emailArr addObject:emailDict]; 

NSMutableDictionary *mainDict = [[NSMutableDictionary alloc] initWithCapacity:0]; 
[mainDict setObject:@"Sharath" forKey:@"firstName"]; 
[mainDict setObject:@"babu" forKey:@"lastName"]; 
[mainDict setObject:emailDict forKey:@"moMerchantAddresses"]; 

Now change this mainDict to NSData *jsonData = [NSJSONSerialization dataWithJSONObject:mainDict options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string 
                error:nil];