将数组传递给ios sdk中的.net webservice

时间:2013-05-15 10:12:24

标签: ios json web-services

我喜欢通过我的iphone应用程序调用json Web服务。

我尝试传递数组,如下所示:

NSArray *keys = [NSArray arrayWithObjects:@"key",nil];
NSArray *objects = [NSArray arrayWithObjects:venueId,nil];
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSString* jsonString = [jsonDictionary JSONRepresentation];


NSLog(@"%@",jsonString);

调用webservice

SBJSON *json = [SBJSON new];
    json.humanReadable = YES;
    responseData = [[NSMutableData data] retain];
 NSString *service = @"/DerializeDataTable";
NSString *requestString = [NSString stringWithFormat:@"{\"n\":\"%@\"}",jsonString];

    NSLog(@"request string:%@",requestString);

需要字符串

{"n":"{"key":["4e78b7f7483bc8fe83ed2bf9","4de248a21520b8ceaabd9197","4f0d502be4b0dd89303e6bde","4f2a79a1e4b0b052a3f37633","500ebf52e4b0edbb8dbc7e9c","4d63a047a45b5481c872032d"]}"}

但无法得到答案。 我不知道是什么原因。

我不知道我方或服务器端的任何问题。

2 个答案:

答案 0 :(得分:0)

您尚未将实际发送请求的代码发布到您的网络服务中,因此很难为您提供帮助。

您应该做的第一件事就是确定问题出在客户端(应用程序)还是服务器上。您可以通过记录发送消息时获得的响应来执行此操作 - 听起来好像您没有得到响应,在这种情况下,您可能最好检查服务器日志以查看请求是否到达您的服务器。您可能会发现使用代理在离开应用时实际查看网络流量非常有用。

答案 1 :(得分:0)

看起来你有额外的报价。我想你的意思是:     {“n”:{“key”:[“4e78b7f7483bc8fe83ed2bf9”,“4de248a21520b8ceaabd9197”,“4f0a502be4b0dd89303e6bde”,“4f2a79a1e4b0b052a3f37633”,“500ebf52e4b0edbb8dbc7e9c”,“4d63a047a45b5481c872032d”]}}