[英]Having trouble with displaying parts of an array obtained from a JSON file
我正在搞亂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_dump以確認它實際上是一個數組。
我試圖回復$ 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 [“response”] [“players”]
也許你想要這樣的東西? 我只是猜測可能有超過1名玩家。
for($i = 0;$i<count($b["response"]["players"]);$i++)
{
echo $b["response"]["players"][$i]["name"]
}
好吧,這是返回的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_decode($a)
,那么簡單地使用$b['name']
將不起作用。 該密鑰未設置。
您必須遵循對象文字的嵌套。 這樣的事情應該有效:
echo $b['response']['players']['0']['name'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.