【问题标题】:JSON - Importing Data Using FileGetContents not showing?JSON - 使用 FileGetContents 导入数据未显示?
【发布时间】:2014-12-28 22:39:54
【问题描述】:

我一直在编写一个小脚本来获取用户的每月浏览量。当我获得用户的访问令牌并 var_dump file_get_contents($url) 时,我得到一个正确的 json,如下所示。

$views = file_get_contents('https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2014-09-29&end-date=2014-10-29&metrics=views&access_token='.$responseObj->access_token);
var_dump($views);

结果是:

{
  "kind": "youtubeAnalytics#resultTable",
  "columnHeaders": [
    {
      "name": string,
      "dataType": string,
      "columnType": string
    },
  ],
  "rows": [
    [
      2204
    ]
  ]
}

我不确定如何使用 JSON 导入这个数字“2204”并将其回显。目前我正在尝试:

$monthlyViews = $views['rows'][0];
var_dump($monthlyViews)

但这不起作用,我不知道为什么。除了错误提示之外,我没有得到任何回应:

致命错误:无法在第 39 行的 /home/a1059253/public_html/oauth/callback.php 中使用字符串偏移作为数组

【问题讨论】:

    标签: php json youtube-api


    【解决方案1】:

    首先,你需要解析 JSON 对象:

    $json = json_decode($views);
    

    PHP 将 JSON 解析为一个对象,而不是一个数组,所以你的代码应该是这样的:

    $monthlyViews = $json->rows[0][0];
    echo $monthlyViews;
    

    【讨论】:

    • 我向上帝发誓我非常爱你。 - 这实际上是不正确的! =D - $json->rows[0][0]; - 使用你的时,我返回了一个数组值。但是没有你我是做不到的。
    猜你喜欢
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 2014-12-12
    • 1970-01-01
    相关资源
    最近更新 更多