我需要帮助来解析某些JSON数据中视频的名称和网址。
<?php
$json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337');
$obj = json_decode($json);
foreach($obj->videos as $videos){
$string = $videos->url;
$arr = explode('clientType=0',$string);
$string = implode('clientType=0", type:"mp4"},',$arr);
$arr = explode('http',$string);
$string = implode('{ file: "http',$arr);
echo $string;
}
?>
我还需要“名字”:
"name":"lowest"
"name":"low"
"name":"sd"
"name":"hd"
原始网址:
http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337
你可以在这里测试一下:
答案 0 :(得分:1)
如果你试图根据你小提琴上的其他数据创建另一个json,请不要手动创建json字符串。在另一个容器中收集所需的值,然后重新编码。
$data = json_decode(file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337'), true);
$return = array();
foreach($data['videos'] as $videos){
$filename = $videos['name'];
$url = $videos['url'];
$type = 'mp4';
$return[] = array(
'file' => $url,
'type' => $type,
'name' => $filename,
);
}
echo json_encode($return);
// echo '<pre>';
// echo json_encode($return, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
答案 1 :(得分:0)
<?php
$json = file_get_contents('http://odnoklassniki.ru/dk?cmd=videoPlayerMetadata&mid=507252337');
$obj = json_decode($json);
foreach($obj->videos as $video){
echo $video->name .' :: '. $video->url;
echo '<br>';
}
?>
$video
变量是stdClass
个对象,这意味着您可以按$video->value
检索其他值。