如何在目标c中消耗JSON Web服务



我正在消耗json web服务。我正在将stringurl分配给nsurl,但nsurl总是分配空值。我也没有得到回应。谁能暗示我在以下编码中犯了什么错误

- (IBAction)addbutton:(id)sender {
NSString *urltest = @"sample url";
NSURL *url = [NSURL URLWithString:urltest];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response,
                                           NSData *data, NSError *connectionError)
 {
     if (data.length > 0 && connectionError == nil)
     {
         NSDictionary *greeting = [NSJSONSerialization JSONObjectWithData:data
                                                                  options:0
                                                                    error:NULL];
         NSString *test= [[greeting objectForKey:@"code"] stringValue];
         NSString *test1 = [greeting objectForKey:@"message"];
     }
 }];}

您的URL字符串无效,请注意零件:

taxName=ÂU.F¿Kåa¥gh

在URL中不允许这些字符。将您的URL修复到有效的URL(例如百分比字参数值(。

例如。上面的URL编码是:

taxName=%C3%82U.F%C2%BFK%C3%A5a%C2%A5gh

,但我不确定这是正确的。参数值似乎无效。

请使用此:

NSString *urlString = @"http://localhost:8080/MyWebservice.asmx/GetHelloWorldWithParam";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod: @"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
NSString *myRequestString = @"param="; // Attention HERE!!!!
[myRequestString stringByAppendingString:myParamString];
NSData *requestData = [NSData dataWithBytes:[myRequestString UTF8String] length:[myRequestString length]];
[request setHTTPBody: requestData];

谢谢

最新更新