使用php将数组转换为json数组
我有一个PHP数组,如下所示:使用php将数组转换为json数组,php,jquery,arrays,json,Php,Jquery,Arrays,Json,我有一个PHP数组,如下所示: Array ( [0] => stdClass Object ( [id] => 1 [area] => Arappalayam ) [1] => stdClass Object ( [id] => 2 [area] => Kalavasal ) )
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”,“区域”:“Arappalayam”},{“id”:“2”,区域:“Kalavasal”}];但是我想要[{id:1,区域:“Arapalayam”},{id:2,区域:“Kalavasal”}] 您不需要使用
阵列拼接()
。只需使用:
json_encode($myArray);
只需使用
json\u编码
$local_source = json_encode($array);
检查文件
当解码回php数组时
$array = json_decode($local_source,true);
(一)
您的“id”:“1”
而不是“id”:1
是因为您在PHP中的值实际上是字符串,而不是int。
使用intval()转换它们将产生不同的结果
(二)
不可以。您不能生成
id:
而不是“id”:
,因为键在标准中是带引号的字符串。此外,还有Javascript保留字可以作为JSON中的关键字。您可以按照下面给出的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);
可能重复:结果如下[{“id”:“1”,“区域”:“Arappalayam”},{“id”:“2”,区域:“Kalavasal”}];但是我想要[{id:1,区域:“Arapalayam”},{id:2,区域:“Kalavasal”}];问题是,您不希望属性名被引用,而整数作为字符串?