2017-04-26 58 views
0

我正在使用json webservice。我将stringurl分配给nsurl,但nsurl总是分配空值。我也没有得到答复。任何人都可以建议我什么是错误,我在下面的编码进行如何使用目标c中的json web服务?

- (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"]; 
    } 
}];} 
+0

[Java Objective-C Json data]的可能重复(http://stackoverflow.com/questions/7242118/java-objective-c-json-data) –

+0

你应该在URL中对你的查询进行URL编码。你可以使用'NSURLComponents'来构建'NSURL'。 –

回答

0

你的URL字符串无效,请注意部分:

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

URL中不允许使用这些字符。将您的网址修正为有效的网址(例如百分比编码参数值)。

E.g.以上与URL编码将是:

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

但我不知道这是正确的。参数值似乎不是有效的。

+0

感谢您的答复先生你可以建议我如何可以改变上面的URL作为一个有效的网址我也检查了以上网址在休息客户端我得到的回应。 – pavithra

+0

非常感谢你先生,我解决了我的问题 – pavithra

-1

请使用:

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

谢谢