【发布时间】:2016-09-16 08:37:25
【问题描述】:
目前我需要构建一个 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);
输出是:
{"firstname":"John","lastname":"Doe","cities":{"name":["London","Brighton"],"population":["12000000","500000 "]}}
但是我被告知这是不正确的,输出需要是
{"firstname":"John","lastname":"Doe","cities":[{"name":["London","Brighton"],"population" :["12000000","500000"]}]}
(注意输出中的方括号)。原因是由于 $array['cities'] 是一个数组,因此需要将城市本身指定为数组。
我的问题是:
1)在这些情况下是否习惯添加方括号来表示它是一个数组?
2) 如何更改我的 php 代码以便在输出中包含这些方括号?
感谢帮助
谢谢 帕特里克
【问题讨论】:
-
你确定这就是输出需要的吗?我希望伦敦和布莱顿(以及它们各自的人口)位于
cities数组中的不同对象中。 -
您好,我也很惊讶,但有人问我是否可以将其更改为“正确”格式,方法是将其放在方括号中。我的理解是键值数组在javascript中总是对象,但是由于city[]本身就是一个数组,所以需要这样转换。
-
我想他们会告诉你这是错的,但是3v4l.org/KeZOh
-
这可以解决问题......:)