1

NSJSONSerialization JSONObjectWithData:options:error:iOS 5プロジェクトで、JSON文字列を読み取り、それをFoundationオブジェクトに変換するために使用しています。オブジェクトまたはその子の一部が配列、辞書、数値、または文字列であるかどうかを確認する簡単な方法はありますか?

4

3 に答える 3

3

メソッドを使用して、返されたオブジェクトが特定のクラスであるかどうかを確認できます-isKindOfClass:。たとえば、それが配列であるかどうかを確認するには、次のようにします。

id jsonObj = [NSJSONSerialization JSONObjectWithData:...]
if ([jsonObj isKindOfClass:[NSArray class]] {
    // Do array stuff...
}

他のファンデーションタイプについても同様です。

于 2012-05-02T01:58:43.073 に答える
1

NSJSONSerializationiOS5.0以降およびMacOSX 10.7以降でのみサポートされているため、使用には注意してください。

次のようなサードパーティのライブラリも試してみることができると思います。

どちらも使いやすく、柔軟性があります。

于 2012-05-02T01:39:56.803 に答える
1

すべてのオブジェクトはクラスに答えることができます。さらに便利なことに、何かがクラスのメンバーであるか、そのサブクラスのいずれかであるかを尋ねることができます。

id jsonParse;

if ([jsonParse isKindOfClass:[NSArray self]]) {
    for (id element in (NSArray *)jsonParse) {

        // and so on
    }
}
于 2012-05-02T01:59:30.997 に答える