0

我的 Web 服务用于从 SQL Server 访问表中的数据。Web 服务有一个方法可以将前 25 行数据作为 DataSet 返回。我可以使用这个 DataSet 类还是需要返回 XML 的方法?

4

3 回答 3

0

您不能返回 DataSet,因为 Cocoa 不会将其识别为对象,因为它是 NSData 二进制或垃圾值。如果您使用某种遗留 API,则需要一个返回 XML 的方法和一个自定义 XML 解析器。

最好的解决方案是使用 JSON 数据格式返回具体值。发出请求并返回值后,您可以通过 SBJSON 解析器根据数据格式将它们解析为方便的 NSArray 或 NSDictionary。

于 2012-07-23T17:54:14.827 回答
0

您不能使用 DataSet 对象,不。你看过wsdl2objc吗?如果您想使用 XML,这可能会对您有所帮助。不过,我推荐 JSON,因为 .NET 提供了对 JSON(反)序列化的支持,而 Cocoa 提供了相同的支持。在 C#/VB 中将 DataSet 转换为 JSON,然后在 Objective-C 中将其转换回;我认为这是您最轻松的选择。

于 2012-07-23T18:00:34.080 回答
0

请记住,从 JSON 获取值时,它们最初都必须符合这个标准。

  • 顶级对象是 NSArray 或 NSDictionary。
  • 所有对象都是 NSString、NSNumber、NSArray、NSDictionary 或 NSNull 的实例。
  • 所有字典键都是 NSString 的实例。
  • 数字不是 NaN 或无穷大。

阅读此处了解更多信息。http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

于 2012-07-23T21:27:51.317 回答