Парсинг Twitch API-ответ PHP - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь разобрать запрос для пользователей Twitch, играющих в определенную игру.Результаты выглядят так:

{
    "data":
    [{
        "id":"id here",
        "user_id":"uid here",
        "user_name":"name here",
        "game_id":"gameid here",
        "community_ids":[IDs here],
        "type":"live",
        "title":"awesome title here",
        "viewer_count":10,000,000,
        "started_at":"time here",
        "language":"en",
        "thumbnail_url":"url here",
        "tag_ids":[look at all these tags!]
    },{
        "id":"id here",
        "user_id":"uid here",
        "user_name":"name here",
        "game_id":"gameid here",
        "community_ids":[IDs here],
        "type":"live",
        "title":"awesome title here",
        "viewer_count":10,000,000,
        "started_at":"time here",
        "language":"en",
        "thumbnail_url":"url here",
        "tag_ids":[look at all these tags!]
        etc. etc.
    }],
    "pagination":{"cursor":"whatever this does"}
}

Я пытаюсь проанализировать его с помощью:

$results = json_decode($query, TRUE);
foreach($results as $data){
    foreach($data as $users){
        echo ($users['user_name']."<br/>");
    }
}

Результаты, которые я получаю, выглядят так:

name 1
...
name n

Warning: Illegal string offset 'user_name'
*first letter of pagination thing here (in this example it would be the 'w' in 'whatever')*

В идеалеЯ хотел бы, чтобы это вернулось:

user_Name, viewer_count, language,title

Но я застрял на первом этапе ...

1 Ответ

0 голосов
/ 10 июня 2019

Вы используете слишком много для циклов. Это должно работать:

<?php
        foreach($results['data'] as $data){
            echo ($data['user_name']."<br/>");
        }
...