Json Decode Twitch Api PHP


Json Decode Twitch Api PHP

我正在尝试获取twitch电视的Json解码字符串的正确性

$hue = file_get_contents('https://api.twitch.tv/kraken/streams/?channel=starladder1');
$hue = json_decode($hue);
print_r($hue->display_name);

但它不起作用尝试了几乎所有的东西请帮助

尝试以下代码:

<?php
    $hue = file_get_contents('https://api.twitch.tv/kraken/streams/?channel=starladder1');
    $hue1 = json_decode($hue, TRUE);
     foreach ($hue1 as $data)
        {
         foreach ($data as $datas) {
        echo ($datas['channel']['display_name']."<br/>");
             }   
        }
    ?>

它不起作用的原因是,您试图在不分析对象结构的情况下直接访问"display_name"。

试试这个:

print_r($hue->streams[0]->channel->display_name);

您可以看到流以"["开头,这意味着它的元素像数组一样被访问

你的对象看起来确实是这样的,这有助于你更好地理解结构:

 {
        "streams":[{
            "_id":10954982848,
            "game":"Dota 2",
            "viewers":11918,
            "_links":{
                "self":"https://api.twitch.tv/kraken/streams/starladder1"
            },
            "preview":{
                "small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-80x50.jpg",
                "medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-320x200.jpg",
                "large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-640x400.jpg",
                "template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_starladder1-{width}x{height}.jpg"
            },
            "channel":{
                "_links":{
                    "self":"http://api.twitch.tv/kraken/channels/starladder1",
                    "follows":"http://api.twitch.tv/kraken/channels/starladder1/follows",
                    "commercial":"http://api.twitch.tv/kraken/channels/starladder1/commercial",
                    "stream_key":"http://api.twitch.tv/kraken/channels/starladder1/stream_key",
                    "chat":"http://api.twitch.tv/kraken/chat/starladder1",
                    "features":"http://api.twitch.tv/kraken/channels/starladder1/features",
                    "subscriptions":"http://api.twitch.tv/kraken/channels/starladder1/subscriptions",
                    "editors":"http://api.twitch.tv/kraken/channels/starladder1/editors",
                    "videos":"http://api.twitch.tv/kraken/channels/starladder1/videos",
                    "teams":"http://api.twitch.tv/kraken/channels/starladder1/teams"
                },
                "background":null,
                "banner":null,
                "display_name":"starladder1",
                "game":"Dota 2",
                "logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/starladder1-profile_image-557367f831a49ebb-300x300.png",
                "mature":false,
                "status":"NewBee vs LGD-Gaming 1:0 @ WEC Lan-Finals Day 2 by v1lat",
                "url":"http://www.twitch.tv/starladder1",
                "video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/starladder1-channel_offline_image-c29311bb34830472-640x360.png",
                "_id":28633177,
                "name":"starladder1",
                "created_at":"2012-03-01T18:05:14Z",
                "updated_at":"2014-09-06T06:59:23Z",
                "abuse_reported":null,
                "delay":0,
                "followers":118574,
                "profile_banner":null,
                "profile_banner_background_color":null,
                "views":186419614,"language":"en"
            }
        }],
        "_total":1,
        "_links":{
            "self":"https://api.twitch.tv/kraken/streams?channel=starladder1&limit=25&offset=0",
            "next":"https://api.twitch.tv/kraken/streams?channel=starladder1&limit=25&offset=25",
            "featured":"https://api.twitch.tv/kraken/streams/featured",
            "summary":"https://api.twitch.tv/kraken/streams/summary",
            "followed":"https://api.twitch.tv/kraken/streams/followed"
        }
    }

以下是您的代码:

$hue = json_decode(file_get_contents('https://api.twitch.tv/kraken/channels/starladder1'));
echo "Name :" .$hue->display_name;

你只是做了错误的url来获取