我有一个如下所示的PHP数组:
Array
(
[0] => stdClass Object
(
[id] => 1
[area] => Arappalayam
)
[1] => stdClass Object
(
[id] => 2
[area] => Kalavasal
)
)
现在,我需要将此数组转换为Json数组,如下所示:
$local_source = [
{
id: 1,
area: "Arappalayam"
}, {
id: 2,
area: "Kalavasal"
}
];
我试过下面的代码来转换php中的json数组
$availableArea = array_slice($areas[0],0);
return json_encode($availableArea);
但它不起作用,任何想法>?
结果如[{“id”:“1”,“area”:“Arappalayam”},{“id”:“2”,区域:“Kalavasal”}];但我想[{id:1,area:“Arappalayam”},{id:2,area:“Kalavasal”}];
答案 0 :(得分:1)
您不需要使用array_splice()
。只需使用:
json_encode($myArray);
答案 1 :(得分:0)
只需使用json_encode
$local_source = json_encode($array);
检查文档http://pk1.php.net/json_encode
并将其解码回php数组
$array = json_decode($local_source,true);
答案 2 :(得分:0)
1)
你的"id":"1"
但不是"id":1
是因为PHP中的值实际上是字符串,而不是int。
使用intval()转换它们会产生不同的结果。
2)
不能。您无法生成id:
而不是"id":
,因为密钥是在标准JSON specification中引用的字符串。除此之外,还有Javascript保留字可能是JSON中的关键。
答案 3 :(得分:0)
您可以按照以下给出的PHP示例
进行操作$area = array('0' => array('id' => "1",'area' => 'Arappalayam'),
'1' => array('id' => "2",'area' => 'Kalavasal')
);
//callback function to do conversion
function convert($value){
//convert only ID into integer
$value['id'] = intval($value['id']);
return $value;
}
$area = array_map('convert',$area);
echo json_encode($area);