Php 将数据库值转换为JSON,不带列名
我试图获取一个类别列表,并将它们作为AJAX调用的JSON返回,但Laravel也包含了列名,我不需要这些列名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_
$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()?