0

私は新しい iOS 開発者で、大きなアプリを書く必要があります。まず、ジェイソンがいるサーバーがあります。そのサーバーからデータを取得して解析する必要があります。そして、UIView のようにディスプレイ上のさまざまな場所にデータを表示します。しかし、問題は、サーバーに接続してデータを取得し、解析することはできますが、括弧内にデータを表示できないことです。説明させてください:

JSON データは次のとおりです。

{
"mbsServer": {
    "version": 1,
    "serverTime": 1374400122,
    "status": 2000,
    "subscriptionExpireTime": 1575057600,
    "channel": {
        "id" : 47,
        "name" : "Yurd TV",
        "logo" : "XXX.png",
        "screenshot" : "screen.png",
        "packageId" : 0,
        "viewers": 1,
        "access": true,
        "streams" : [
                {
                    "birate" : 200,
                    "hls"  : "xxxx.m2u8",
                    "rtsp" : "RTSP.xx"
                },
                {
                    "birate" : 500,
                    "hls"  : "xxxxx",
                    "rtsp" : "xxxxx"
                }
        ]
    }

}
}    

を取得したいobjectForKey:@"hls"のですが、取得できません。JSONからのすべてのデータを私に与えているだけです。私のコードは次のようになります。

NSData *JSONData = [[NSData alloc] initWithContentOfURL: [NSURL URLLWithString:@"XXXXXXXXXXX"]];
NSArray *streams = [JSONData objectFromJSONData];
for(NSDictionary *hls in streams)
{
   NSLog(@"%@", [hls objectForKey:@"hls"]);
}

助けてください...

4

2 に答える 2

1

streams配列を正しく取得できませんでした。次のことを試してください。

NSObject *json = [JSONData objectFromJSONData];
NSArray *streams = [json valueForKeyPath:@"mbsServer.channel.streams"];
for (NSDictionary *stream in streams)
{
    NSLog(@"%@", [stream valueForKey:@"hls"]);
}
于 2013-07-21T10:03:36.947 に答える