在PHP中获取JSON信息

时间:2014-02-14 14:50:53

标签: php json

我试图在我的PHP中将JSON文件中的信息作为数组获取,以便将其放入我的数据库中。在这个简单的例子中,我的代码可以工作:

{
"tiles":[179, 199, 198, 198, 160, 198, 180, 199, 178, 160, 180, 180, 198, 160]
}

$string = file_get_contents(FileDestination);
$worldarray = json_decode($string, true);
foreach($worldarray['tiles'] as $item) {
    mysqli_query($link, 'INSERT INTO blabla (test) VALUES('.$item.')');
}

然而,碰巧我的JSON文件有点复杂:

{ "height":32,
"layers":[
    {
     "data":[179, 199, 198, 198, 160, 198, 180, 199, 178, 160, 180, 180, 198, 160, 178,],
     "height":32,
     "name":"Tile Layer 1",
     "opacity":1,
     "type":"tilelayer",
     "visible":true,
     "width":32,
     "x":0,
     "y":0
    }, 

等等。我需要Layers中的信息>数据。我试过以各种方式访问​​它,比如使用:$ worldarray ['layers'] ['data']但我似乎无法从数据中获取值。谁能帮我这个?提前谢谢。

4 个答案:

答案 0 :(得分:1)

由于layers是一个数组,您应该在访问时提供索引,例如:

$worldarray['layers'][0]['data']

如果你当然有更多层,你应该迭代它们。

答案 1 :(得分:1)

请查看我的PHPFiddle:http://phpfiddle.org/main/code/673-dmb

答案 2 :(得分:1)

$json = file_get_contents('url_here');
    $obj = json_decode($json);
    echo $obj->access_token;

尝试这种方式。我希望它可以帮到你

答案 3 :(得分:0)

感谢大家的帮助,现在突然使用$ array ['layers'] [0] ['data']。尽管之前几次都没​​有奏效。