我正在创建一个需要与.Net网络服务互动的iPhone应用程序。我做了一些研究,但很多关于这个网站的讨论已经过时了。所以我认为最好再问一下这个问题,看看你们中是否有人可以帮助我。
从我在其他讨论中读到的内容,我可以使用NSURLConnection或NSXMLParser来发送和接收数据。人们建议我也可以使用JSON。我刚开始学习Web服务。我只是在返回字符串的Web服务上测试一些基本的Web方法。没什么复杂的。实现此功能的最佳方法是什么?
谢谢!
更新 - 对不起,我应该在发布问题之前做更多的研究。现在,因为我了解如何在.net上使用Web服务,我觉得我问的问题是愚蠢的,完全理解下来的投票。遗憾!
答案 0 :(得分:1)
我认为你应该使用JSON格式。解析速度更快,下载更轻松。 此外,实施难度也没有差异。为了解析客户端大小(你的应用程序)上的数据,我建议使用JSONKit库 - 据我所知,它是最快的。网上有几种速度测试。像this one一样。 NSURLConnection也很有用。您可以获得响应代码,获取数据等。获得该数据后,JSON显然很有用。
干杯!
答案 1 :(得分:0)
服务器方法的响应有多简单并不重要。使用像JSON或XML这样的序列化格式的想法是,您可以保证消息重新生成。客户是一个可接受和可解析的消息。
Web服务允许使用JSON作为其序列化格式。一旦你这样做,你可以使用Cocoa内置的JSON解析器来解析响应。
答案 2 :(得分:0)
您可以在案例中使用的一个有用提示如下:
+ (NSString*)stringFromURL:(NSString*)urlString
{
return [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSUTF8StringEncoding error:nil];
}
您可以使用该行从服务器获取数据,然后解析它的XML数据。我通常不使用XML解析。相反,我只是在请求URL中使用查询字符串,并获取一个数据字符串,这是我正在寻找的特定值。
虽然我正在使用它,你可以使用以下方法将从该方法获得的字符串转换为整数或双精度或许多其他类型:
int returnedInt = [[self stringFromURL:@"URL"] intValue];
double returnedDouble = [[self stringFromURL:@"URL"] doubleValue];
希望这有助于至少一点点!如果没有,也许它会帮助其他人下线。