0

我有一个 JSON 对象,如下所示:

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

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

4

3 回答 3

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);   
    }
?>
于 2013-09-04T15:21:58.917 回答
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()不会抱怨传递对象。

于 2013-09-04T15:11:18.477 回答
0

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

看看这个页面http://php.net/manual/en/function.json-decode.php

于 2013-09-04T15:03:41.773 回答