简体   繁体   English

如何在PHP中访问.json数据?

[英]How can I access .json data in PHP?

I have a .json file. 我有一个.json文件。 I want to access this data in my .php file. 我想在我的.php文件中访问此数据。 I have a variable $spellId, for example: $spellId="SummonerBarrier"; 我有一个变量$ spellId,例如:$ spellId =“ SummonerBarrier”;

I want to get "name" from the .json file just by having $spellId. 我只想通过拥有$ spellId从.json文件中获取“名称”。 Any idea how I can do this? 知道我该怎么做吗?

I know there are a lot of questions like this here, but i do not how to make the solutions with my code. 我知道这里有很多这样的问题,但是我不知道如何用我的代码来制定解决方案。

{
    "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..."
        }
    }
}

Try this: 尝试这个:

$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);
$array = json_decode($json, true);

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM