繁体   English   中英

在php的json主体结果中省略json响应标题

[英]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总是会动态变化,例如ResponsesPlayersPlayerNameDate

我可以使用$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM