json_encode必须将对象转换为数组

时间:2016-09-16 08:37:26

标签: php json

目前我需要构建一个API以json格式输出,我目前所做的(例如)如下:

$array=array();
$array['firstname']="John";
$array['lastname']="Doe";
$array['cities']=array();
$array['cities']['name']=array("London","Brighton");
$array['cities']['population']=array("12000000","500000");
echo json_encode($array);

输出结果为:

  

{ “姓名”: “约翰”, “姓”: “Doe的”, “城市”:{ “名称”:[ “伦敦”, “布赖顿”], “种群”:[ “12000000”,“500000 “]}}

但是我被告知这是不正确的,输出需要

  

{ “姓名”: “约翰”, “姓”: “Doe的”, “城市”: [ { “名称”:[ “伦敦”, “布赖顿”], “种群” :[ “12000000”, “500000”]}的 }

(注意输出中的方括号)。原因是,由于$ array ['cities']是一个数组,因此需要将城市本身指定为数组。

我的问题是:

1)在这些情况下是否自定义添加方括号以表明它是一个数组?

2)如何在输出中更改我的php代码?

帮助赞赏

由于 帕特里克

1 个答案:

答案 0 :(得分:1)

就在这里

$array=array();
$array['firstname']="John";
$array['lastname']="Doe";
$array['cities']=array();
$array['cities'][]=array(
                        'name'=>array("London","Brighton"),
                        'population'=>array("12000000","500000")
                   );
echo json_encode($array);