我想使用json_decode来结合几个json对象,然后重新编码它。我的JSON的样子:PHP json_decode问题
{
"core": {
"segment": [
{
"id": 7,
"name": "test1"
},
{
"id": 4,
"name": "test2"
}
]
}
}
我有几个这样的JSON对象和想结合只有“segement”阵列每个得到的东西是这样的:在
{
"segment": [
{
"id": 7,
"name": "test1"
},
{
"id": 4,
"name": "test2"
}
],
"segment": [
{
"id": 5,
"name": "test3"
},
{
"id": 8,
"name": "test4"
}
]
}
现在我的php代码,我正在解码json,将每个“segment”数组存储到一个字符串中,然后编码json。
public function handleJSON($json){
$decodeData = json_decode($json);
$segment =$decodeData->core;
return $segment;
}
public function formatJSON(){
$segments = "";
for ($i = 0; $i < count($json);$i++)
{
$segments .= handleJSON($json[$i]);
}
echo json_encode($segments);
}
当我做到这一点,我收到错误:类stdClass的的 对象不能转换为字符串
所以然后我试图使用它们存储在一个阵列:
public function formatJSON(){
$segments = array();
for ($i = 0; $i < count($json);$i++)
{
$segments[$i] = handleJSON($json[$i]);
}
echo json_encode($segments);
}
这一次,我没有得到一个错误,但是它将整个组合的json对象存储在数组中。我怎么能只是返回JSON对象,而不被封装在数组中?
谢谢!这太可笑了! – dtrainer45 2009-11-11 17:45:24
很高兴这有帮助! – artlung 2009-11-11 17:48:56