首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中从json获取项

在PHP中从json获取项
EN

Stack Overflow用户
提问于 2013-09-19 12:15:28
回答 3查看 375关注 0票数 0

如何从PHP中的以下json中获取“工期”值:

代码语言:javascript
运行
复制
{
 "kind": "youtube#videoListResponse",
 "etag": "\"6jI4SSPcXxEAc3i_1EQHOPi0Cvc/EGNSBh81ISlkeECbqD9xdh5C340\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"6jI4SSPcXxEAc3i_1EQHOPi0Cvc/yUebIRJfQ62Pq5XpRbqJHx7Xozo\"",
   "id": "7lCDEYXw3mM",
   "contentDetails": {
    "duration": "PT15M51S",
    "dimension": "2d",
    "definition": "hd",
    "caption": "true",
    "licensedContent": false,
    "contentRating": {
     "ytRating": ""
    }
   }
  }
 ]
}

尝试了许多例子,但要么导致对象错误,要么导致无效的索引错误?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-19 12:18:43

代码语言:javascript
运行
复制
$jsonObj  = json_decode($json);
$duration = $jsonObj->items[0]->contentDetails->duration;

代码语言:javascript
运行
复制
$jsonArr  = json_decode($json, true);
$duration = $jsonArr['items'][0]['contentDetails']['duration'];

或者在一个循环中:

代码语言:javascript
运行
复制
$jsonArr  = json_decode($json, true);
foreach ($jsonArr['items'] as $item) {
    echo $item['contentDetails']['duration'];
}
票数 2
EN

Stack Overflow用户

发布于 2013-09-19 12:20:57

代码语言:javascript
运行
复制
$json = <<<JSON
{
 "kind": "youtube#videoListResponse",
 "etag": "\"6jI4SSPcXxEAc3i_1EQHOPi0Cvc/EGNSBh81ISlkeECbqD9xdh5C340\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"6jI4SSPcXxEAc3i_1EQHOPi0Cvc/yUebIRJfQ62Pq5XpRbqJHx7Xozo\"",
   "id": "7lCDEYXw3mM",
   "contentDetails": {
    "duration": "PT15M51S",
    "dimension": "2d",
    "definition": "hd",
    "caption": "true",
    "licensedContent": false,
    "contentRating": {
     "ytRating": ""
    }
   }
  }
 ]
}
JSON;

$data = json_decode($json);

foreach ($data['items'] as $item) {
    echo $item['contentDetails']['duration'];
}
票数 1
EN

Stack Overflow用户

发布于 2013-09-19 12:21:56

尝尝这个

这里的url视频id是视频的id,请记住更改它。

代码语言:javascript
运行
复制
<?php
$url=file_get_contents("https://gdata.youtube.com/feeds/api/videos/videoid?v=2");
$data = json_decode($url);

$duration = $data['items']['duration'];
echo $duration;
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18894377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档