繁体   English   中英

json_encode必须将对象强制转换为数组

[英]json_encode must cast object as array

目前,我需要构建一个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”,“ city”:{“ name”:[“ London”,“ Brighton”],“人口”:[“ 12000000”,“ 500000”]} }

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

{“ firstname”:“ John”,“ lastname”:“ Doe”,“ cities”: [ {“ name”:[“ London”,“ Brighton”],“人口”:[“ 12000000”,“ 500000”] } ] }

(请注意输出中的方括号)。 有人声称,因为$ array ['cities']是一个数组,所以城市本身需要指定为数组。

我的问题是:

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

2)如何更改我的php代码,以便在输出中包含这些方括号?

帮助赞赏

谢谢帕特里克

它在这里

$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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM