-4

私はよく書かれているように見えるこのJSONを解析しようとしてNSJSONSerializationいますが、NSArray.

これは私のコードです:

NSData* gamesData = [NSData dataWithContentsOfURL:
                        [NSURL URLWithString:@"http://s42sport.com/polarice/json/games.json"]
                        ];

    NSDictionary* json = nil;
    if (gamesData) {
        json = [NSJSONSerialization
                JSONObjectWithData:gamesData
                options:kNilOptions
                error:nil];
        NSLog(@"%d",json.count);
    }

質問は、

JSON の何が問題になっていますか? NSSerialization が NSDictionary を返さないのはなぜですか?

編集:はい、[...] 対 {...} について学びました。ありがとうございました。

4

3 に答える 3

2

この方法で解析jsonします。

NSURL * url=[NSURL URLWithString:@"http://s42sport.com/polarice/json/games.json"];

NSData * data=[NSData dataWithContentsOfURL:url];

NSError * error;

NSMutableDictionary * json=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];

NSLog(@"%@",json);

NSArray * array1=[json valueForKey:@"c"];

NSLog(@"%@",array1);

このコードを試してください。これは確かにあなたのために働くでしょう。

于 2013-10-18T06:38:21.617 に答える
1

NSDictionnary は Object に使用する必要がありますが、NSArray は JSON 配列に使用します

NSArray* json = nil;
if (gamesData) {
    json = [NSJSONSerialization
            JSONObjectWithData:gamesData
            options:kNilOptions
            error:nil];
    NSLog(@"%d",json.count);
}
于 2013-10-18T06:26:25.863 に答える
0

リストした JSON ファイルは配列 (角かっこで始まり角かっこで終わる) であるため、Objective-C はそれを NSArray ルート オブジェクトに反映します。

于 2013-10-18T06:25:52.933 に答える