【发布时间】:2013-05-27 18:52:47
【问题描述】:
我在从 JSON 文件中回显数据时遇到问题:
<?php
$url = file_get_contents("http://api.erpk.org/citizen/profile/3121752.json?key=Yn3AsG80");
$json = file_get_contents($url);
$data = json_decode($json, true);
echo "<pre>"; var_dump($data); echo"</pre>";
?>
以上是我正在使用的 php 文件,它输出 JSON,如下所示:
{
"id": 3121752,
"name": "SnowderBlazer",
"birth": "2010-04-10",
"avatar": "http://static.erepublik.net/uploads/avatars/Citizens/2010/04/10/4bb9a72cc291faaaf7af8e78ed0a8509_100x100.jpg",
"online": false,
"ban": null,
"alive": true,
"level": 97,
"experience": 360391,
"strength": 42859.62,
"rank": {
"points": 437120237,
"level": 64,
"image": "http://www.erepublik.com/images/modules/ranks/god_of_war_2.png",
"name": "God of War**"
},
"elite_citizen": false,
"national_rank": 1,
"residence": {
"country": {
"id": 65,
"name": "Serbia",
"code": "RS"
},
"region": {
"id": 198,
"name": "Midi-Pyrenees"
}
},
"citizenship": {
"id": 65,
"name": "Serbia",
"code": "RS"
},
"about": "Voters Club Moderator\ncatch me on #voters @Rizon\nIRC Nick : Snowderblazer OR Snowderblazer[BNC]\norder herehttp://erepublik-market.com/voters/newOrder.html?adp=1549866\n[ident:9vrwQZB9]",
"party": {
"id": 2479,
"name": "Ujedinjena eSrbija",
"role": "Party Member"
},
"army": {
"id": 1980,
"name": "Legija Stranaca Elite",
"role": "Commander",
"created_at": "2012-05-26",
"avatar": "http://static.erepublik.net/uploads/avatars/Groups/2012/05/26/f80bf05527157a8c2a7bb63b22f49aaa_medium.jpg",
"rank": "Commander"
},
"newspaper": {
"id": 241367,
"role": "Press director",
"name": "M.A.D.S News"
},
"top_damage": {
"damage": 215238312,
"date": "2013-05-16",
"message": "Achieved while successfully defending Basilicata against Italy on day 2,004"
},
"true_patriot": {
"damage": 3021790429,
"since": "2012-04-26"
},
"medals": {
"battle_hero": 248,
"campaign_hero": 98,
"congress_member": 9,
"country_president": 0,
"hard_worker": 36,
"media_mogul": 5,
"mercenary": 1,
"resistance_hero": 2,
"society_builder": 0,
"super_soldier": 171,
"top_fighter": 3,
"true_patriot": 43
},
"hit": 14924
}
我的问题是它一次加载所有数据,我只想回显每个 我没有使用 JSON 的经验,所以我不知道要回显的变量
可以通过 JSON 访问
JSON Version : http://api.erpk.org/citizen/profile/3121752.json?key=Yn3AsG80
XML Version : http://api.erpk.org/citizen/profile/3121752.xml?key=Yn3AsG80
我想要达到的目标如下:
- 在没有输出的情况下加载 JSON 或 XML,以便我可以使用 ECHO 将数据放在我希望它在 PHP 文件中显示的位置;
- ECHO 每个 JSON 或 XML 数据。
每次我尝试都会收到一个错误,说它不是对象
【问题讨论】:
-
json_decode($json, true)返回一个普通数组,它不是特定于 json 的,您可以像访问其他数组一样访问它的元素,例如var_dump($data['name']) -
我认为你的前两行应该压缩到
$json = file_get_contents("http://api.erpk.org/citizen/profile/3121752.json?key=Yn3AsG80");