Php Can';不使用cURL返回的数据?

Php Can';不使用cURL返回的数据?,php,json,curl,Php,Json,Curl,我正在使用cURL查询minecraft服务器,以便显示有关该服务器的某些信息 代码: 如果我转储返回的数据,我会得到: string(264) """{"hostname":"A Minecraft Server","gametype":"SMP","game_id":"MINECRAFT","version":"1.9","plugins":"CraftBukkit on Bukkit 1.9-R0.1-SNAPSHOT: PlayerData 1.0","map":"world","num

我正在使用cURL查询minecraft服务器,以便显示有关该服务器的某些信息

代码:

如果我转储返回的数据,我会得到:

string(264) """{"hostname":"A Minecraft Server","gametype":"SMP","game_id":"MINECRAFT","version":"1.9","plugins":"CraftBukkit on Bukkit 1.9-R0.1-SNAPSHOT: PlayerData 1.0","map":"world","numplayers":"0","maxplayers":"200","hostport":"25565","hostip":"192.168.1.20","players":[]}"
我已尝试通过以下方式使用数据:

echo $gameinfo["hostname"];
echo $gameinfo->hostname;
echo $gameinfo[0]["hostname"];
echo $gameinfo[0]->hostname;
using foreach($gameinfo as $info)
对于其中的每一个,我要么得到非法字符串,要么得到非对象


那么我该如何使用呢?

看起来您的响应是JSON,在将其用作数组之前,需要PHP先对其进行解码。还要删掉引号

$gameinfo = curl_exec($ch);
$gameinfo = json_decode(trim($gameinfo, '"'), true);

var_dump($gameinfo);

你不需要json_解码($gameinfo);在你读之前?我也试过了,没用。它会将整个内容变为null。从curl获得的字符串不是对象,因此需要先将其变为对象,然后才能访问键值对。如果JSON错误,JSON_decode可能会返回null。
$gameinfo = curl_exec($ch);
$gameinfo = json_decode(trim($gameinfo, '"'), true);

var_dump($gameinfo);