php json encode 对象 数组,使用json_encode()并仍在对象中发送数组

我发送带有id的Ajax请求,并且我期待来自php的带有附加信息的响应。PHP的响应如下:

Array

(

[success] => 1

[id] => 20

[fullname] => John Doe

[statuslist] => Array

(

[1] => Status1

[2] => Status2

[3] => Status3

)

)

当我

json_encode()

return json_encode($response);

我得到这样的答复:

{"success":true,"id":"20","fullname":"John Doe","statuslist":{"1":"Status1","2":"Status2","3":"Status3"}}

当我

JSON.parse()

在JS中,它成为一个对象。而且

statuslist

成为嵌套对象,这就是问题所在。

let res = JSON.parse(data) /* where data is response from server */

当我

console.log(res.statuslist)

我得到以下对象:

{ 1 : "Status1", 2 : "Status2", 3 : "Status3"}

我真正想要的是得到一个我已经拥有的对象,但是状态列表是一个2d数组,在这个数组中我可以打开输出。

console.log(res.statuslist)

:

[

["1", "Status1"],

["2", "Status2"],

["3", "Status3"]

]

我的PHP数组如下:

$statusList = ArrayHelper::map(\app\models\SomeModel::find()->all(), 'id', 'title');

$response = [

'success' => true,

'id' => $id,

'fullname' => $user->fullname,

'statuslist' => $statusList,

];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值