Question

Je travaille sur une application qui parler Rest service Web. L'analyseur JSon J'utilise est SBJson. Il y a ce service Web sur le rendement côté serveur un Beana. Ce haricot contient un beanB. Une partie de la Json je me suis du côté du serveur est comme ça quand il y a plusieurs grains:

        BeanB =             
        (
            {
                key = 12;
                name = test2bbb;
            },
            {
                key = 11;
                name = test2ttt;
            }
        );

quand il y a juste un haricot, il ressemble à ceci:

        BeanB =             
        {
            key = 10;
            name = test3;
        };

En passant par l'analyseur SBJson, je me suis un dictionnaire quand il n'y a qu'un seul BeanB retourné, et a obtenu un tableau quand il y a plus d'un BeanB retourné. Le code, je recevais les haricots sont:

        NSArray/NSDictionary *BeanB = [BeanADic objectForKey:@"beanB"];

Le problème est que je ne peux pas prédire ce que je suis va obtenir du côté serveur. Y at-il un moyen de tester le type de retour?

Était-ce utile?

La solution

Ceci est un cas où il convient de vérifier la classe de la valeur retournée.

id beanB = [beanADic objectForKey:@"tagBeans"];
if ([beanB isKindOfClass:[NSDictionary class]]) {
  NSDictionary *beanDic = beanB;
  ...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top