将php数组转换成json的问题

<?php
$a = [
    'name',
    'age'
];
var_dump( json_encode($a));

结果为 '["name","age"]'
这是一个json数据是没问题的,但是返回的是一个json集合而我需要的是json对象,我期待的是下面的结果

'{"name","age"}'、

我现在的解决方法是更改一下自己的代码如下

$a = [
    'name' => 1,
    'age' => 1
];
var_dump( json_encode($a));

也就是把数组变成键值对形式,每一个键都有一个相同的值1,这个1是没用的,得到的结果如下
'{"name":1,"age":1}'
这样是能满足我的需求的,但是个人感觉这样有点太low了,不知道有没有好的办法

阅读 5.8k
3 个回答

'{"name","age"}'这种形式的东西不是json,如果是对象,那就必然是键值对,而数组在json中就是用[]来表示的

是返回给前台使用还是后台使用,前台使用就不需要操作了,直接用 json_encode($a) 就行了
如果是后台自己使用json对象可以使用 json_decode(json_encode($a)) 就是一个json对象了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题