我有一个JSON对象如下:
$data = [{"articles": {"ID": 5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}}
所以,我需要知道来自客户的哪种信息,在这种情况下是“文章”。如何通过PHP检查此JSON对象的第一级?
答案 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字符串转换为关联数组,因此您可以像使用任何其他数组一样使用它