Php 显示从JSON文件获取的数组部分时遇到问题
我现在正忙于处理JSON。我必须改变变量:$a和$b $a从网站检索JSON文件:Php 显示从JSON文件获取的数组部分时遇到问题,php,arrays,json,api,steam,Php,Arrays,Json,Api,Steam,我现在正忙于处理JSON。我必须改变变量:$a和$b $a从网站检索JSON文件: $a = file_get_contents("http://backpack.tf/api/IGetUsers/v2/?steamids=76561198037411448&format=json"); $b解码 $b = json_decode($a, true); 我在$b上做了var_转储,以确认它实际上是一个数组 我试图回显$b[“name”],但没有返回任何内容 我不知道怎
$a = file_get_contents("http://backpack.tf/api/IGetUsers/v2/?steamids=76561198037411448&format=json");
$b解码
$b = json_decode($a, true);
我在$b上做了var_转储,以确认它实际上是一个数组
我试图回显$b[“name”],但没有返回任何内容
我不知道怎么了;没有返回任何内容。您有一组多维数据,而不是$b[“name”]您需要的是:
$b["response"]["players"][0]["name"]
这是该URL中的json对象结构
{
"response": {
"success": 1,
"current_time": 1369778504,
"players": {
"0": {
"steamid": "76561198037411448",
"success": 1,
"backpack_value": 185.86,
"backpack_update": 1369543543,
"name": "Paranoid Android",
"stats_tf_reputation": 1,
"notifications": 0
}
}
}
}
如果您需要迭代,将必须循环使用$b[“响应”][“玩家”]也许您想要这样的东西?我只是猜测可能不止一个玩家
for($i = 0;$i<count($b["response"]["players"]);$i++)
{
echo $b["response"]["players"][$i]["name"]
}
对于($i=0;$i嗯,这是返回的JSON:
{
"response": {
"success": 1,
"current_time": 1369778435,
"players": {
"0": {
"steamid": "76561198037411448",
"success": 1,
"backpack_value": 185.86,
"backpack_update": 1369543543,
"name": "Paranoid Android",
"stats_tf_reputation": 1,
"notifications": 0
}
}
}
}
如果$b=json\u decode($a)
,那么简单地使用$b['name']
将不起作用。该键未设置
您必须遵循对象文本的嵌套。类似的操作应该可以:
echo $b['response']['players']['0']['name'];
也许gettype()会帮助您:尝试使用var_dump($b)了解变量的内容