Php json编码,json解码,数组?
我正试图从中获取Php json编码,json解码,数组?,php,json,Php,Json,我正试图从中获取数据 { "data": [{ "media_count": 3045, "name": "snow", }, { "media_count": 79, "name": "snowman", }, { "media_count": 40, "name": "snowday", }, { "media_count":
数据
{
"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"
}]
我只想进入数据
。我该怎么做
提前谢谢
更新:很抱歉提及,我想要json格式的
最终,我只想看到
{
"media_count":54373,
"name":"test"
}
类似于thiat的内容在第一个示例中,$obj['data']
返回一个数组,因为JSON就是这样设置的。根据JSON,数据是元素的集合
要在阵列内访问,可以执行以下操作:
foreach($obj['data'] as $object) {
print_r($object);
}
您还可以根据需要将其编入索引:
$obj = json_decode($res[0], true);
echo json_encode($obj['data']);
print_r($obj['data'][0])代码>
编辑
如果我没有弄错,您希望将第一个JSON转换为:
"data": [{
"media_count":54373,
"name":"test"
}]
如果是这样,那是不可能的,因为第二个片段不是有效的JSON。(使用)首先访问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}
}
$obj1=$obj[项目];
$sizeobj=sizeof($obj1);
对于($i=0;$i使用json\u encode()
获取所需内容:
$obj = json_decode($res[0], true);
echo json_encode($obj['data']);
因此,如果我尝试$obj1=$obj['data']
,我会得到这个“
$obj1不是访问它只是为了找到“数据”的大小,我只想索引到数据
,所以本质上,当你回显新的json时,数据
不应该在那里。在这种情况下,在json\u decode
之后,做$obj=$obj['data']
$obj
现在保存您想要的内容。顺便说一句,您原来的JSON由于后面有逗号而无效。