iOS 5プロジェクトでNSJSONSerialization JSONObjectWithData:options:error:
を使用してJSON文字列を読み取り、それをFoundationオブジェクトに変換しています。オブジェクトや子要素のいくつかが配列、辞書、数字、文字列かどうかを簡単に調べる方法はありますか?Objective-C JSONタイプ
1
A
答えて
3
返されたオブジェクトが-isKindOfClass:
メソッドの特定のクラスであるかどうかを確認することができます。たとえば、配列かどうかを確認するには、次のようにします。
id jsonObj = [NSJSONSerialization JSONObjectWithData:...]
if ([jsonObj isKindOfClass:[NSArray class]] {
// Do array stuff...
}
他のファンデーションタイプも同様です。
1
1
すべてのオブジェクトがクラスに応答できます。さらに便利なのは、何かがクラスのメンバーかそれともサブクラスなのかを尋ねることができます:
id jsonParse;
if ([jsonParse isKindOfClass:[NSArray self]]) {
for (id element in (NSArray *)jsonParse) {
// and so on
}
}
+0
'[NSArray self]'は奇妙に見えますが(動作しますが)。 '[NSArray class]'は、もっと典型的な慣用的Objective-Cです。 –
+1
それはより典型的ですが、少しだけ間違っています。それがクラスであることをクラスに尋ねることは、それがメタクラス(Objective Cから敬虔に欠けている概念)であることを求めることです。しかし、自分自身のためにクラスを尋ねることは、明確で正確であり、私が言うことを敢えて...上品です。 – danh
関連する問題
- 1. ファイルから読み込む推奨タイプplist、string、rich text-objectiveC
- 2. NumberFormatter - ObjectiveC
- 3. AFNetworking 3.Xを使用してBOOLをJSONにポストするObjectiveC
- 4. ObjectiveCのAMF0パーサー
- 5. ObjectiveC blocks Java equivalent
- 6. ObjectiveCの静的変数
- 7. JSonタイプのポスティング用コントローラのアクションメソッドのデータタイプ
- 8. postgreSQL JSONカラムとHibernate値タイプのマッピング
- 9. Alamofire/Swiftyjson - JSONタイプをObjcプロトコルデリゲートに渡す
- 10. 使用PostgreSQLのJSONの列タイプ3
- 11. JSONイテレータでの安全警告のタイプ
- 12. jsonマッシュアップのタイプはありますか?
- 13. ObjectiveC/iPhoneのTwitPic APIを使用
- 14. 2D動的メモリ割り当て - ObjectiveC
- 15. ObjectiveC /ココアScreencapture /クロスヘッドマウスポインタのセレクタのヘルプ
- 16. GCCとObjectiveCコードとCygwinのヘルプ
- 17. iPhone/Objectivec-Cフロート分割誤っ出力
- 18. JSONタイプの文字列から辞書タイプのオブジェクトを作成する方法
- 19. サンプル「gdata-objectivec-client」で「invalid_client」エラーが発生しました
- 20. ObjectiveC - オブジェクトをパラメータとして追加して解放します。
- 21. ETLを使用してOrientDBタイプのドキュメントにJSONをインポート
- 22. Javaタイプの安全警告のJSONとジェネリック
- 23. RESTEasy:コンテンツタイプアプリケーション/ jsonタイプのライターが見つかりません
- 24. JSONの正しいMIMEタイプは何ですか?
- 25. 非整列化JSONとGolangタイプ変換/アサーション発行し
- 26. java jackson json processor - AndroidのRestTemplateと自動タイプ変換で使用
- 27. IOSのWebviewで応答タイプ(Json/Html)をチェックする方法
- 28. ASP.net JSON Webサービスの問題の応答タイプ
- 29. jQuery $ .ajax投稿タイプでnullを返すJSON
- 30. ext-jsonタイプのエミッタが見つかりません
** SBJson Framework **をかなりの期間使用しています。私... ;-) –
それは素晴らしいですが、それは本当に質問に答えることはありません...これはコメントとして適している可能性があります。 – rid