如何在Objective-C中使用Web服务?

时间:2009-10-14 17:36:34

标签: iphone objective-c json coldfusion web-services

我有一个在ColdFusion中开发的Web服务,我试图在iPhone上使用它。 Web服务返回JSON,它应该很容易阅读。

但是,我一直无法找到一个简单的iPhone应用程序调用Web服务和使用数据的简单示例。我有什么不好的教程或例子吗?

3 个答案:

答案 0 :(得分:11)

一个。获取ASIHTTPRequest

B中。获取json-framework

℃。使用A从您的Web服务获取数据,然后将其交给B,后者返回字典。

这就是它。

答案 1 :(得分:2)

要使用JSON,您需要使用第三方框架,因为没有内置支持。我建议使用此 http://code.google.com/p/json-framework/,因为它是最简单的实现之一。您可以仅使用NSURLRequest发出GET请求,或者如果您需要发出更复杂的请求,我建议您使用 http://allseeing-i.com/ASIHTTPRequest/,例如使用基本身份验证。

我写了一篇博文,其中有关于使用Cocoa / Objective-C中的JSON的分步说明,并附有一个示例:

http://zachwaugh.com/2009/01/how-to-use-json-in-cocoaobjective-c/

答案 2 :(得分:1)

有几种方法可以做到这一点[2]

1-如果您只收到一些文字回复,可以使用  [NSString stringWithContentOfURL:url]这将使用Web请求的响应填充字符串。

2-您可以使用NSURLRequest / NSMutableURLRequest和NSURLConnection来发出请求并获取数据,继续参考NSURLRequest http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/Reference/Reference.html,您必须设置一些属性,例如URL请求类型(获取,发布)httpHeaders如果适用,一旦你完成了,你可以使用NSURLConnection发出请求参考,http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html,你可以使用sendSynchronousRequest或initWithRequest等方法并启动(做异步请求)会得到你的答案(两种情况下你都会得到一些NSData,然后你可以将它转换成它的任何东西(一个字符串或一些图片数据或其他)。

这个问题已在SO中发布了几次,只是环顾四周我肯定会找到好的例子,下面是一个链接Can I make POST or GET requests from an iphone application?

还有一个json框架可以解析你的JSON响应,下面是一个关于http://iphone.zcentric.com/2008/08/05/install-jsonframewor/的链接