从JSON解析视频名称和网址

时间:2014-10-30 13:06:43

标签: php json

我需要帮助来解析某些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

你可以在这里测试一下:

http://codepad.viper-7.com/JDiU4h

2 个答案:

答案 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);

Sample Output

答案 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检索其他值。