NSJSONSerialization (iOS5+) を使用して、JSON 文字列を Cocoa オブジェクト (NSDictionary
この場合) に、またはその逆に変換します。
PS : 5.0 より前のバージョンの iOS もサポートする必要がある場合、つまり が利用できない場合は、たとえばNSJSONSerialization
、サードパーティのライブラリがあります。その後、iOS4 と iOS5 の両方でJSONKit
常に使用するか、実行時に可用性をテストして、使用可能な場合は使用できます (使用できない場合はフォールバックします)。JSONKit
NSJSONSerialization
JSONKit
(クロス SDK 開発の詳細については、アプリを iOS4 と互換性があり、利用可能な場合は iOS5 クラスを使用できるようにするなど、SDK 互換性ガイドを参照してください)
ところで、同期 URL リクエストの使用は避けるべきです (しなければなりません)。これにより、ネットワークから応答を受信するまでスレッドがブロックされます。メイン スレッドで実行すると、応答を受信するまで UI 全体がフリーズします。これは、モバイル環境 (最適なネットワーク カバレッジが常に得られるとは限らない) では数秒かかる場合があります。
好む:
- デリゲートを使用する NSURLConnection の API を使用する (詳細については、URL ローディング システム プログラミング ガイドを参照してください)。
- または
sendAsynchronousRequest:queue:completionHandler:
、バックグラウンド NSOperation でリクエストを実行する新しく導入されたメソッド (iOS5+) を使用して、
- または、リクエストの処理を容易にするサードパーティのフレームワークを使用します (そのためにはAFNetworkingをお勧めします。これは、Web サービスとの通信にも優れており、応答を JSON オブジェクトに自動的に変換し、ブロックを使用して応答を非同期的に処理し、コードの記述と理解が容易になるなど)