从php文件调用JSON到HTML页面

时间:2015-06-26 09:02:44

标签: php html json

我正在创建一个需要显示视频的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?

(这不是全部,但不会是半页)

1 个答案:

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