我有一點麻煩在這裏...抓住無名(?)的JSON數據與PHP
我試圖從一個JSON文件here,抓住一些值,它可以被格式化here。
JSON文件看起來是這樣的:
{
"type": "success",
"message": "OK",
"data": {
"mainWeaponStats": [
{
"category": "Machine guns",
"timeEquipped": 3507,
"startedWith": null,
"code": "mgRPK",
"headshots": 18,
"name": "RPK",
"kills": 100,
"deaths": null,
},
{
"category": "Handheld weapons",
"timeEquipped": 5452,
"startedWith": null,
"code": "wahUGL",
"headshots": 1,
"name": "Underslung Launcher",
"kills": 108,
"deaths": null,
},
{
"category": "Sniper rifles",
"timeEquipped": 307,
"startedWith": null,
"code": "srMK11",
"headshots": 0,
"name": "MK11",
"kills": 2,
"deaths": null,
},
等。
我想抓住這些物品之一的殺戮。含義我想給一個像「Underslung Launcher」這樣的參數,並返回108. 在這種情況下,「Underslung Launcher」。 我正在尋找這樣的代碼:
$gamemode = $decode['data']['topStats']['mapMode'];
但是,如果有人知道一個更好的辦法,請告訴我。 由於列表中的項目沒有「名稱」,不像「數據」&「mainWeaponStats」,我無法真正弄清楚如何做到這一點。
編輯: 這是相關代碼至今:
$weaponstats = "http://battlelog.battlefield.com/bf3/weaponsPopulateStats/" . $bf3id . "/1/";
$content = file_get_contents($weaponstats);
$decode = json_decode($content, true);
$mainweaponstats = $decode['data']['mainWeaponStats'];
正如你所看到的,我有一個很難學習JSON。 我正試圖讀取它,但截至目前,我無法弄清楚這一點。
我真的不知道我會如何去做,因爲我試圖找到的值是在同一組中。
如果我理解正確的,你想給像懸掛式啓動參數,返回108? – alpera 2012-08-16 13:54:31
是的,這就是我想要做的。 – 2012-08-16 13:56:13
'mainWeaponStats'是一個數組。循環,並檢查每一個,看它的名字是否匹配,然後返回殺死。 – 2012-08-16 13:56:51