Php 将数据库值转换为JSON,不带列名

Php 将数据库值转换为JSON,不带列名,php,ajax,json,laravel,Php,Ajax,Json,Laravel,我试图获取一个类别列表,并将它们作为AJAX调用的JSON返回,但Laravel也包含了列名,我不需要这些列名 $categories = Category::where('parent', '=', '0')->select('name')->get(); return response()->json($categories); 这样我就可以 [{"column_name", "value"}] 我想要 {"value1", "value2"} 谢谢 使用array_

我试图获取一个类别列表,并将它们作为AJAX调用的JSON返回,但Laravel也包含了列名,我不需要这些列名

$categories = Category::where('parent', '=', '0')->select('name')->get();
return response()->json($categories);
这样我就可以

[{"column_name", "value"}]
我想要

{"value1", "value2"}

谢谢

使用array_values函数获取数组中的值

{“value1”、“value2”}
格式对Json无效。有效格式
[“value1”、“value2”]
。若使用{}表示对象,但对象必须具有key=>value

$categories = Category::where('parent', '=', '0')->select('name')->get();
return response()->json(array_values($categories));

试试这个:
$arr=json\u decode($categories,true)
。然后处理它给出的数组输出。

您只需使用eloquent的
列表
方法即可

$categories = Category::where('parent', '=', '0')->select('name')->lists('name');

return response()->json($categories);

我不知道您在
json()
方法中做了什么,但这两种方法都不是有效的json。你确定要这样做吗?是的,这不是我得到的JSON,我手工写的,似乎我弄错了。我想我现在明白了。我得到一个错误:
array\u values()希望参数1是array,给定的对象
为什么?OP的输出不是数组,而是JSON字符串。Get()结果可以转换为数组吗?比如get()->toArray()?