-3

我正在尝试获取 twitch tv 的 Json Decoded 字符串的适当性

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

但它不起作用几乎所有东西都试了请帮忙

4

3 回答 3

2

试试下面的代码:

<?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/>");

             }   
        }
    ?>
于 2014-09-06T08:00:35.123 回答
0

这是给你的代码:

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

你只是做错了 url 来获取

于 2014-09-29T23:22:48.710 回答
0

它不起作用的原因是因为您尝试直接访问“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"
        }
    }
于 2014-09-06T08:15:26.897 回答