简体   繁体   中英

Decode json data from .json file in php

I am trying to output some json data from a json file via php but it does not seem to work. I tried this:

<?php
    $jsonFile = file_get_contents('dataset/dataset.json');
    $data = json_decode($jsonFile, true);

    echo $data->{'data'}[0]->{'letter'}
?>

The json file is following:

{
    "data":[
        {
            "letter":"A",
            "blocks":{
                "1":"0",
                "2":"0",
                "3":"0",
                "4":"0",
                "5":"0"
            }
        }
]}

Basically it should output the letter "A" but it outputs nothing. What did I do wrong? Thanks

PS I tried to do it like here: How to process JSON in PHP? but it does not work.

After json_decode($jsonFile, true) your data is in array. So you should not access using object. Access data by array index. Try this..

echo $data['data'][0]['letter'];

More about json_decode()

This says, you get an array (the true parameter):

$data = json_decode($jsonFile, true);

You can see this if you do this:

print_r($data);

Try this:

echo $data['data'][0]['letter'];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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