私の Web サービスは、SQL Server からテーブル内のデータにアクセスするように作成されています。Web サービスには、データの最初の 25 行を DataSet として返すメソッドがあります。この DataSet クラスを使用できますか、または XML を返すメソッドが必要ですか?
3 に答える
Cocoa は DataSet をオブジェクトとして認識しないため、DataSet を返すことはできません。ある種のレガシー API を使用している場合は、XML を返すメソッドとカスタム XML パーサーが必要です。
最善の解決策は、JSON データ形式を使用して具体的な値を返すことです。要求が行われ、値が返された後、SBJSON パーサーを介して、データ形式に応じてそれらを便利な NSArray または NSDictionary に解析できます。
また、JSON から値を取得するときは、最初はすべてこの基準に適合する必要があることに注意してください。
- 最上位オブジェクトは NSArray または NSDictionary です。
- すべてのオブジェクトは、NSString、NSNumber、NSArray、NSDictionary、または NSNull のインスタンスです。
- すべての辞書キーは NSString のインスタンスです。
- 数値は NaN または無限大ではありません。
詳細については、こちらをお読みください。http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html
いいえ、DataSet オブジェクトは使用できません。wsdl2objcを見ましたか? これは、XML を使用する場合に役立ちます。ただし、JSON をお勧めします。.NET は JSON (デ) シリアライゼーションをサポートしており、Cocoa も同じサポートを提供しているためです。C#/VB で DataSet を JSON に変換し、Objective-C で元に戻します。それがあなたの最も苦痛のない選択肢だと思います。