[英]omit the json response title in json body result in php
我通过使用json_decode通过URL来获取这样的json响应。
function get_data($url)
{
$ch = curl_init();
$timeout = 3;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$domain = "http://localhost:3000/";
$getcontent = get_data($domain);
$data = json_decode($getcontent, true);
提取后,响应为:
{"Data":{"Players":"2,621","Kills":"87","Medals":"908","Cards":"324","TimePlayed":"88hours","GamesWon":"328","ObjectiveTime":"05:25:02"}}
我想删除Data
对象,使其只是PHP中的响应主体。
我已经尝试过: $data[0]['Players'];
但它没有通过json数据主体进行查找。
$players = $data[0]['Players'];
所以我将其显示为:
echo 'Players: ' . $players . ';
注意:有时, Data
总是会动态变化,例如Responses
, Players
, PlayerName
, Date
。
我可以使用$data['. $playername . ']["Player"];
$data['. $playername . ']["Player"];
?
如果您不知道key
,则可以使用PHP
key()函数。 无论您的第一个key
的值是什么,您都可以像这样访问它。
<?php
ini_set('display_errors', 1);
$string='{"Data":{"Players":"2,621","Kills":"87","Medals":"908","Cards":"324","TimePlayed":"88hours","GamesWon":"328","ObjectiveTime":"05:25:02"}}';
$array=json_decode($string,true);
print_r($array[key($array)]["Players"]);
解决方案2: 在此处尝试此代码段
<?php
ini_set('display_errors', 1);
$string='{"Data":{"Players":"2,621","Kills":"87","Medals":"908","Cards":"324","TimePlayed":"88hours","GamesWon":"328","ObjectiveTime":"05:25:02"}}';
$array=json_decode($string,true);
extract($array[key($array)]);
echo $Players;
echo $Kills;
echo $Medals;
echo $Cards;
echo $TimePlayed;
echo $GamesWon;
echo $ObjectiveTime;
整个代码:
<?php
ini_set('display_errors', 1);
function get_data($url)
{
$ch = curl_init();
$timeout = 3;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$domain = "http://localhost:3000/";
$getcontent = get_data($url);
$data = json_decode($getcontent, true);
print_r($data[key($data)]["Players"]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.