从JSON获取嵌套数组数据

时间:2018-02-13 04:05:30

标签: php arrays json

我目前正在尝试从PHP中的一些json代码中检索一些信息。我已经实现了一些,但我试图从嵌套数组中获取一个玩家名称,我遇到了一些麻烦。这是json信息:

抱歉,由于JSON不会嵌入代码框,我不得不在pastebin上发帖。 ht tps://pastebin.com/6RZAgKFa

我已经提取了这样的信息:

$json_string2 = 'URL TO JSON DATA';
$jsondata2 = file_get_contents($json_string2);
$serverinfo2 = json_decode($jsondata2,true);

我可以通过打印来查看它。

现在我试图遍历它只是检索名称,我正在尝试以下内容:

foreach($serverinfo2 as $playerinfo) {
                    foreach($playerinfo as $playerstuff) {
                        echo $playerstuff;
                    }
                }

但是返回完整的数组。然后我将[name]添加到echo $playerstuff的末尾,它返回一个数字1和一个D.甚至不相关,$playerstuff->name也不起作用。任何人都可以帮助我。谢谢:))

1 个答案:

答案 0 :(得分:0)

您可以尝试从json:

的嵌套数据中获取数据
<?php
$res = '[{"endpoint":"127.0.0.1","id":"2","identifiers":["STEAMID HERE","LICENSE HERE"],"name":"Deadpool","ping":"85"},{"endpoint":"127.0.0.1","id":"1","identifiers":["STEAMID HERE","LICENSE HERE"],"name":"Logan","ping":"73"}]';
$result = json_decode($res,true);
// echo '<pre>'; //print_r($result);
foreach ($result as $key => $value) {
    // print_r($value);
    echo $endpoint = 'endpoint : ' .$value['endpoint'];echo "<br/>";
    echo $name = 'name :' .$value['name'];echo "<br/>";
}
?>