質問

私は、REST Webサービスと話すアプリに取り組んでいます。私が使用しているJSONパーサーはSBJSONです。サーバー側にはこのWebサービスがありますBeanaを返します。この豆にはビーンズが含まれています。私がサーバー側から得たJSONの一部は、複数の豆があるときにこのようなものです。

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

豆が1つしかないとき、それは次のように見えます:

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

SBJSONパーサーを通過すると、beanBが1つしか戻っていないときに辞書を手に入れ、複数のビーンブが返されたときに配列を受け取りました。私が豆を受け取るために使用したコードは次のとおりです。

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

問題は、サーバー側から何を得るかを予測できないことです。リターンタイプをテストする方法はありますか?

役に立ちましたか?

解決

これは、返された値のクラスを確認することが適切な場合です。

id beanB = [beanADic objectForKey:@"tagBeans"];
if ([beanB isKindOfClass:[NSDictionary class]]) {
  NSDictionary *beanDic = beanB;
  ...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top