Php 将多个JSON对象合并到Laravel Eloquent集合中的单个JSON对象中
我在使用Laravel Eloquent集合将多个JSON对象合并为单个对象时遇到了问题 当我运行以下代码时:Php 将多个JSON对象合并到Laravel Eloquent集合中的单个JSON对象中,php,json,eloquent,laravel-5.2,Php,Json,Eloquent,Laravel 5.2,我在使用Laravel Eloquent集合将多个JSON对象合并为单个对象时遇到了问题 当我运行以下代码时: 返回项目::all() 我明白了: [ { "created_at": "2016-02-17 15:08:11", "description": "first description", "id": 1, "name": "John Doe", "updated_at": "2016-02-17
返回项目::all()代码>
我明白了:
[
{
"created_at": "2016-02-17 15:08:11",
"description": "first description",
"id": 1,
"name": "John Doe",
"updated_at": "2016-02-17 15:08:11"
},
{
"created_at": "2016-02-17 15:08:31",
"description": "second description",
"id": 2,
"name": "Jane Doe",
"updated_at": "2016-02-17 15:08:31"
}
]
但是,我尝试将多个JSON对象合并为一个单独的JSON对象,如下所示:
{
"0": "John Doe",
"1": "Jane Doe"
}
这让我发疯。是否有人可以帮助我如何实现这一点?钥匙在这里不重要。使用Collection::pluck()
:
如果你想让它成为一个对象,像这样投射它
(object) $projects->pluck('name')->toArray()
// { "0": "John Doe", "1": "Jane Doe" }
如果要返回JSON响应
$projects = (object) $projects->pluck('name')->toArray()
return response()->json($projects);
使用Collection::pull()
:
如果你想让它成为一个对象,像这样投射它
(object) $projects->pluck('name')->toArray()
// { "0": "John Doe", "1": "Jane Doe" }
如果要返回JSON响应
$projects = (object) $projects->pluck('name')->toArray()
return response()->json($projects);
只需定义一个新数组并插入所需的任何值
假设您的JSON对象名为$data
$result = array();
foreach($data as $us){
array_push($result, $us['name']);
}
$result = json_encode($result, JSON_FORCE_OBJECT);
只需定义一个新数组并插入所需的任何值
假设您的JSON对象名为$data
$result = array();
foreach($data as $us){
array_push($result, $us['name']);
}
$result = json_encode($result, JSON_FORCE_OBJECT);
你希望输出是怎样的?我希望输出是JSON格式。你能给出plsI在上面已经做过的结构吗<代码>{“0”:“John Doe”,“1”:“Jane Doe”,“2”:“Joe Doe”}
你能解释一下这些名字是从哪里来的吗?你希望输出是怎样的?我希望输出是JSON格式。你能给出plsI在上面已经做过的结构吗<代码>{“0”:“John Doe”,“1”:“Jane Doe”,“2”:“Joe Doe”}您能解释一下这些名字是从哪里来的吗?返回的名字如下:[“John Doe”,“Jane Doe”]
。但是,我需要这样的数据:{“0”:“John Doe”,“1”:“Jane Doe”}
@MdMazedulIslamKhan,我编辑了我的答案。请检查此选项仍然无效,因为无法返回如下对象:(object)$projects->pull('name')->toArray()
。它返回一个错误:响应内容必须是实现uuToString(),“object”给定的字符串或对象。
return Response()->json((object)$projects->pulk('name')->toArray())
,@mdmazedulislamkhan返回如下名称:[“John Doe”,“Jane Doe”]
。但是,我需要这样的数据:{“0”:“John Doe”,“1”:“Jane Doe”}
@MdMazedulIslamKhan,我编辑了我的答案。请检查此选项仍然无效,因为无法返回如下对象:(object)$projects->pull('name')->toArray()
。它返回一个错误:响应内容必须是实现uuToString(),“object”给定的字符串或对象。
return Response()->json((object)$projects->pulk('name')->toArray())代码>,@mdmazedulislamkhan这将仍然返回一个数组。但是,我想返回一个JSON,这仍然是返回一个数组。但是,我想返回一个JSON