我正试图从
进入data
{
"data": [{
"media_count": 3045,
"name": "snow",
},
{
"media_count": 79,
"name": "snowman",
},
{
"media_count": 40,
"name": "snowday",
},
{
"media_count": 29,
"name": "snowy",
}]
}
我一直在尝试,使用:
$obj = json_decode($res[0], true);
echo $obj['data']; //this returns an array
我也试过这个:
$obj = json_encode($res[0], true);
echo $obj; // this returns json, but not inside `data`
"data": [{
"media_count":54373,
"name":"test"
}]
我只想进入data
。我该怎么做?
提前致谢!
更新:很抱歉提及,我希望以json格式提供
最终,我想只看到
{
"media_count":54373,
"name":"test"
}
像thiat这样的东西
答案 0 :(得分:2)
使用json_encode()
获得您想要的内容:
$obj = json_decode($res[0], true);
echo json_encode($obj['data']);
答案 1 :(得分:1)
在第一个示例中,$obj['data']
返回一个数组,因为这是JSON的设置方式。根据JSON,数据是元素的集合。
要在数组中访问,您可以执行以下操作:
foreach($obj['data'] as $object) {
print_r($object);
}
您也可以根据需要为其编入索引:
print_r($obj['data'][0]);
修改强>
如果我说得对,你想把第一个JSON转换成这个:
"data": [{
"media_count":54373,
"name":"test"
}]
如果是这样,那是不可能的,因为第二个片段是无效的JSON。 (使用http://jsonlint.com)
答案 2 :(得分:0)
首先访问json数组的数据项;
$obj1=$obj[item];
$sizeobj=sizeof($obj1);
for($i=0;$i<$sizeobj;$i++)
{
// your code to access the data items
// for eg $obj[item][$i][media_count}
}