检查第一级JSON数组

时间:2013-09-04 14:59:35

标签: php arrays json

我有一个JSON对象如下:

$data = [{"articles": {"ID":  5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}}

所以,我需要知道来自客户的哪种信息,在这种情况下是“文章”。如何通过PHP检查此JSON对象的第一级?

3 个答案:

答案 0 :(得分:2)

阅读下面的注释行以了解详细信息

<?php
    //$data = '[{"articles": {"ID":  5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}}';

    //Your json data should be like this
    $data = '{"articles": [{"ID":  5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}]}';

    $data_decoded = json_decode($data);

    foreach($data_decoded as $key=>$value) {
        //first level of json object as many as its items
        echo $key; 
        //var_dump($key,$value);   
    }
?>

答案 1 :(得分:1)

$data = json_decode('
{
  "articles": [
    {"ID":  5, "NAME": "BIKE"},
    {"ID": 6, "NAME": "CAR"}
  ]
}');
$keys = array_keys((array)$data);
echo $keys[0]; //displays: articles

这是您的数据作为有效的json(您的代码无效)。这样就将$data作为数组进行了类型转换,以便array_keys()不会抱怨传递对象。

答案 2 :(得分:0)

我会使用$json = json_decode($data, true);这会将json字符串转换为关联数组,因此您可以像使用任何其他数组一样使用它

查看此页面http://php.net/manual/en/function.json-decode.php