3

JSONファイルからNSDictionaryを作成しましたが、作成しようとすると

NSString *key = [NSString stringWithFormat:@"%i",indexPath.row];
NSDictionary *currentObject = [JSONdata objectForKey:key];

エラーの受信とエラー-[__NSCFArray objectForKey:]: unrecognized selector sent to instance

私がこれを行うときNSLogJSONdataこれは私の出力です:

(
    {
        1 =         {
            description = "";
            facets =             (
                                {
                    name = Red;
                },
                                {
                    name = Blue;
                },
                                {
                    name = Skinny;
                },
                                {
                    name = Standard;
                },
                                {
                    name = "Navy Blue";
                }
            );
            id = 1073;
            owner = 1001;
            "post_date" = 1341980987;
            transaction = 24;
            username = TonyB;
        };
    },
    {
        2 =         {
            description = "";
            facets =             (
                                {
                    name = "Bow Tie";
                },
                                {
                    name = Blue;
                },
                                {
                    name = Orange;
                },
                                {
                    name = Yellow;
                }
            );
            id = 1001;
            owner = 1001;
            "post_date" = 1340640012;
            transaction = 6;
            username = TonyB;
        };
    }
)

私が取得できるはずの最初のキーのセットは、使用する必要があると考えて修正して12ます[JSONdata objectForKey:@"0"][JSONdata objectForKey:@"1"]?それとも私は何かが足りないのですか?

4

4 に答える 4

3

JSON の構造は次のとおりです。

NSDictionary を含む NSArray

したがって、これを行う必要があります:[[JSONdata objectAtIndex:0] objectForKey:@"1"]


また、疑わしい場合はいつでもこれを行うことができます:
NSLog(@"JSONdata class == %@", [JSONdata class]);

そして、NSDictionaryをヒットすると、常にこのメソッドがあります。これ- (NSArray *)allKeysは、その辞書のすべてのキーの配列を返します。

于 2012-12-07T04:38:05.137 に答える
2

あなたはNSArrayそれを持っていNSDictionaryます。また、jsonでそのまま送信keyしています。あれでしょうか?NSStringint

これは役に立ちますか[[JSONdata objectAtIndex:0] objectForKey:@"1"];

于 2012-12-07T04:37:15.833 に答える