程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> ios-iPhone應用-JSON請求失敗

ios-iPhone應用-JSON請求失敗

編輯:編程綜合問答
iPhone應用-JSON請求失敗

Json格式如下,要發送請求到服務器,但是返回的是錯誤500。

{"firstName":"Sharath K", "lastName":"babu", "moMerchantAddresses":[{"email":"[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;

最佳回答:


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"];

修改mainDict為:

NSData *jsonData = [ NSJSONSerialization dataWithJSONObject:mainDict options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
                                                         error:nil];
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved