我正在创建一个需要显示视频的html页面。视频的网址位于jsondecode
输出中。有没有办法从JSON
输出中选择片段并在我的html页面中使用它?我已经尝试过POST和GET以及回声,但它似乎不起作用。
要明确:我正在尝试将其从php文件转换为单独的HTML文件。
JSON
响应位于函数的单独文件中。
public function getURL(){
$server_url= ilObjPresentations2GoGUI::getServerUrl();
$secret_key= ilObjPresentations2GoGUI::getSecretKey();
$authorized_group= ilObjPresentations2GoGUI::getAuthorizedGroup();
$link_usable= ilObjPresentations2GoGUI::getLinkUsable();
$query = 'technology';
$date = new DateTime('NOW');
$ts = $date->format('Y-m-d\TH:i:s');
$interval = 'PT' . $this->link_usable . 'H';
$date->add(new DateInterval('PT' . $link_usable . 'H'));
$expired = $date->format('Y-m-d\TH:i:s');
$url = $server_url . '?action=search&query='. $query . '&group='. $authorized_group . '&ts=' . $ts . '&expired=' .$expired;
$token = ilObjPresentations2GoAPI::create($url,$secret_key);
$goodurl = $url . '&token=' . $token;
$json = file_get_contents($goodurl);
$the_data = json_decode($json, true);}
输出:
array(9) { ["schemaVersion"]=> string(3) "1.0" ["catalogueVersion"]=> string(14) "4.0.5651.20898" ["encoding"]=> string(5) "UTF-8" ["action"]=> string(6) "search" ["query"]=> string(10) "technology" ["page"]=> string(1) "1" ["pageCount"]=> string(1) "1" ["success"]=> string(4) "true" ["response"]=> array(3) { [0]=> array(10) { ["id"]=> string(6) "bWKUL2" ["title"]=> string(57) "Technology-Based Professional Learning and Support Models" ["date"]=> string(19) "2011-12-05T10:19:21" ["contributors"]=> string(0) "" ["thumbnailUrl"]=> string(409) "https://DEMO-FORMS.presentations2go.eu/P2G/plugins/mediaservice.aspx?
(这不是全部,但不会是半页)
答案 0 :(得分:5)
您可以在html中使用JSON解码数组中的数据,只要这些文件具有.php扩展名或者PHP包含它们:
<div><?php echo $the_data['title']; ?></div>
由于您的$the_data
数组位于方法getURL()
内,因此您可以返回$the_data
数组中的网址:
public function getURL() {
...
$the_data = json_decode($json, true);
return !empty($the_data['url']) ? $the_data['url'] : '';
}
...
<div><?php echo $your_object->getURL(); ?></div>