2014-12-04 46 views
-2

的Json代码是:取JSON数据

{"apiVersion":"2.1","data":{"id":"bLBSoC_2IY8","uploaded":"2014-04- 29T04:11:56.000Z","updated":"2014-12-04T16:08:10.000Z","uploader":"latenight","category":"Comedy","title":"Lip Sync Battle with Emma Stone","description":"Jimmy and Emma Stone square off in a lip sync battle and Emma shows she's not afraid of lightning fast lyrics.\n\nSubscribe NOW to The Tonight Show Starring Jimmy Fallon: http://bit.ly/1nwT1aN\n\nWatch The Tonight Show Starring Jimmy Fallon Weeknights 11:35/10:35c\nGet more Jimmy Fallon: \nFollow Jimmy: http://Twitter.com/JimmyFallon\nLike Jimmy: https://Facebook.com/JimmyFallon\n\nGet more The Tonight Show Starring Jimmy Fallon: \nFollow The Tonight Show: http://Twitter.com/FallonTonight\nLike The Tonight Show: https://Facebook.com/FallonTonight\nThe Tonight Show Tumblr: http://fallontonight.tumblr.com/\n\nGet more NBC: \nNBC YouTube: http://bit.ly/1dM1qBH\nLike NBC: http://Facebook.com/NBC\nFollow NBC: http://Twitter.com/NBC\nNBC Tumblr: http://nbctv.tumblr.com/\nNBC Google+: https://plus.google.com/+NBC/posts\n\nThe Tonight Show Starring Jimmy Fallon features hilarious highlights from the show including: comedy sketches, music parodies, celebrity interviews, ridiculous games, and, of course, Jimmy's Thank You Notes and hashtags! You'll also find behind the scenes videos and other great web exclusives.\n\nLip Sync Battle with Emma Stone\nhttp://www.youtube.com/fallontonight","thumbnail":{"sqDefault":"http://i.ytimg.com/vi/bLBSoC_2IY8/default.jpg","hqDefault":"http://i.ytimg.com/vi/bLBSoC_2IY8/hqdefault.jpg"},"player":{"default":"http://www.youtube.com/watch?v=bLBSoC_2IY8&feature=youtube_gdata_player","mobile":"http://m.youtube.com/details?v=bLBSoC_2IY8"},"content":{"5":"http://www.youtube.com/v/bLBSoC_2IY8?version=3&f=videos&d=AXyDziqd4CCanEZDalXV_C8O88HsQjpE1a8d1GxQnGDm&app=youtube_gdata","1":"rtsp://r7---sn-o097zuek.c.youtube.com/CkULENy73wIaPAmPIfYvoFKwbBMYDSANFEgGUgZ2aWRlb3NyIQF8g84qneAgmpxGQ2pV1fwvDvPB7EI6RNWvHdRsUJxg5gw=/0/0/0/video.3gp","6":"rtsp://r7---sn-o097zuek.c.youtube.com/CkULENy73wIaPAmPIfYvoFKwbBMYESARFEgGUgZ2aWRlb3NyIQF8g84qneAgmpxGQ2pV1fwvDvPB7EI6RNWvHdRsUJxg5gw=/0/0/0/video.3gp"},"duration":446,"aspectRatio":"widescreen","rating":4.9287434,"likeCount":"279315","ratingCount":284381,"viewCount":36983500,"favoriteCount":0,"commentCount":12125,"accessControl":{"comment":"allowed","commentVote":"allowed","videoRespond":"moderated","rate":"allowed","embed":"allowed","list":"allowed","autoPlay":"allowed","syndicate":"allowed"}}}

我试图获取在PHP阵列环路乳宁细数据,但但变量没有值:

foreach ($result->data as $item) { 
$title = is_null($subject) ? htmlentities($item->title) : htmlentities($item->video->title); 
$id = is_null($subject) ? $item->id : $item->video->id; 
$timestamp = is_null($subject) ? strtotime($item->uploaded) : strtotime($item->video->uploaded); 
$uploaded = date('M j, Y', $timestamp); 
$watch = is_null($subject) ? $item->player->default : $item->video->player->default; 
$image = is_null($subject) ? $item->thumbnail->sqDefault : $item->video->thumbnail->sqDefault; 
$description = is_null($subject) ? $item->description : $item->video->description; 
$viewCount = is_null($subject) ? $item->viewCount : $item->video->viewCount; 
$duration = is_null($subject) ? gmdate('H:i:s', intval($item->duration)) : gmdate('H:i:s',  intval($item->video->duration)); 
echo $id 
echo $title 
echo $description 
?> 

最新问题?

+1

你应该告诉我们问题是什么,然后我们帮你解决它。 – 2014-12-04 16:46:44

+0

问题是循环正在运行,但标题,ID和其他变量未分配任何值 – user3061787 2014-12-04 16:49:22

+0

var_dump $ result或$ item – 2014-12-04 16:51:56

回答

1

至于@Marc_B试图解释,你需要循环,如键/值对:

foreach($result->data as $key=>$value) { 

,并寻找$key是你有兴趣

Here is a working example

但是,如果您的数据总是包含一个结果,则可以跳过该循环并且只是:

1

您使用了错误的OBJ访问路径:

{"apiVersion":"2.1","data":{"id":"bLBSoC_2IY8","uploaded":"2014-04-etc.. 

foreach($obj->data as $item) { 

是要给你“blBSoC_2IY8”,“2014-04-等等......”为$项目,这仅仅是字符串。 $item->whatever将失败,因为$ item是一个字符串,而不是一个对象。

+0

什么应该是正确的道路? – user3061787 2014-12-04 17:30:50