Json解码TwitchAPI PHP

Json解码TwitchAPI PHP,php,json,twitch,Php,Json,Twitch,我正在尝试获取twitch tv的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:

我正在尝试获取twitch tv的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以[1]开头,这意味着它的元素像数组一样被访问

您的对象实际上是这样的,这有助于您更好地理解结构:

 {
        "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来获取

$hue->display\u name不存在准备好了吗,但我想获取display\u name的数据不是完整的数据检查json解码,它存在。打印\r$hue->streams[0]->频道->显示\u名称;尽管流索引可能会发生变化,谢谢bumper@Pedro也许其他API查询会给你比这个小响应更多的结果,所以你需要了解你得到了什么