如何從此json獲取第一個「hls」。我的源代碼正在搜索hls的值並顯示它。但它獲得的第二個 「HLS」 ...... JSON數據是:具有相同密鑰的JSON對象
{
"mbsServer": {
"version": 1,
"serverTime": 1374519337,
"status": 2000,
"subscriptionExpireTime": 1575057600,
"channel": {
"id" : 47,
"name" : "Yurd TV",
"logo" : "XXXX",
"screenshot" : "XXXXXXX",
"packageId" : 0,
"viewers": 1,
"access": true,
"streams" : [
{
"birate" : 200,
"hls" : "XXXXXXXX",
"rtsp" : "XXXXXXX"
},
{
"birate" : 500,
"hls" : "XXXXXXX",
"rtsp" : "XXXXXX"
}
]
}
}}
我的代碼是:
@implementation ViewController中 - (IBAction爲)播放:(ID )發件人{
NSData *JSONData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"XXXXXX"]];
NSObject *json = [JSONData objectFromJSONData];
NSArray *streams = [json valueForKeyPath:@"mbsServer.channel.streams"];
for (NSDictionary *stream in streams)
{
NSString *str = [[NSString alloc]initWithString:[stream valueForKey:@"hls"]];
videoURL = [NSURL URLWithString:str];
}
NSURLRequest *req = [NSURLRequest requestWithURL:videoURL];
[_stream loadRequest:req];
}
的'[..]'表示數組。索引數組以訪問它的元素(它們是「對象」)。請參閱json.org。 –
只需從'streams'數組中獲取第一個流,而不是循環它。 – talnicolas
(提示:瞭解數組是什麼,不要只是從某處複製代碼。) –