2016-02-22 54 views
0

我有一個.json文件。我想在我的.php文件中訪問這些數據。我有一個變量$ spellId,例如:$ spellId =「SummonerBarrier」;如何在PHP中訪問.json數據?

我想通過使用$ spellId從.json文件獲取「名稱」。 任何想法我可以做到這一點?

我知道這裏有很多這樣的問題,但我不知道如何用我的代碼製作解決方案。

{ 
    "type": "summoner", 
    "version": "6.3.1", 
    "data": { 
     "SummonerBarrier": { 
      "id": "SummonerBarrier", 
      "name": "Barrier", 
      "description": "Shields your champion for 115-455 (depending on champion level) for 2 seconds.", 
      "tooltip": "Temporarily shields {{ f1 }} damage from your champion for 2 seconds.", 
      "maxrank": 1, 
      "cooldown": [ 
       210 
      ] 
     }, 
     "SummonerBoost": { 
      "id": "SummonerBoost", 
      "name": "Cleanse", 
      "description": "Remove..." 
     } 
    } 
} 
+0

你試圖使用'json_decode'? http://php.net/manual/en/function.json-decode.php –

+2

獲取文件內容,解碼json字符串,找到你想要的數據 – Ghost

回答

0

試試這個:

$data = '{ 
    "type": "summoner", 
    "version": "6.3.1", 
    "data": { 
     "SummonerBarrier": { 
      "id": "SummonerBarrier", 
      "name": "Barrier", 
      "description": "Shields your champion for 115-455 (depending on champion level) for 2 seconds.", 
      "tooltip": "Temporarily shields {{ f1 }} damage from your champion for 2 seconds.", 
      "maxrank": 1, 
      "cooldown": [ 
       210 
      ] 
     }, 
     "SummonerBoost": { 
      "id": "SummonerBoost", 
      "name": "Cleanse", 
      "description": "Remove..." 
     } 
    } 
}'; 

$decoded = json_decode($data); 
var_dump($decoded->data->SummonerBarrier->name); 
+0

[Nowdoc; - )](http://php.net /manual/en/language.types.string.php#language.types.string.syntax.nowdoc) –

+0

感謝隊友,幫助我。只需要將這個解碼後的數據轉換爲數組,因爲它是'stdClass Object'^^ – bastianum

0
$array = json_decode($json, true); 

foreach ($array['data'] as $key => $value) { 
    echo "$key:$value[name]<br />"; 
} 
0
$decodeData = json_decode($data); 
$spellId="SummonerBarrier"; 
$nameToFetch=$decodeData->data->$spellId->name;