如何将Laravel集合数组转换为json

问题描述 投票:3回答:5

如何将此Laravel集合数组转换为json格式,如下所示。

//All records from users table.
$users = DB::table('users')->get();

// Required json format.
return '{
          "data": [

            {
              "DT_RowId": "row_1",
              "id": "Tiger",
              "clear": "Nixon",
              "fsssf": "System Architect",
              "tex": "[email protected]",
              "created_at": "Edinburgh",
              "updated_at": "Edinburgh"
            },
             {
              "DT_RowId": "row_2",
              "id": "Tiger",
              "clear": "Nixon",
              "fsssf": "System Architect",
              "tex": "[email protected]",
              "created_at": "Edinburgh",
              "updated_at": "Edinburgh"
            }

          ],
  "options": [],
  "files": []
}';

对不起基本问题,但我无法将此转换为此jso。

json laravel-5 laravel-collection
5个回答
7
投票

看看documentation

您可以使用toJson()将集合转换为json对象。

$users = DB::table('users')->get()->toJson();
dd($users);

您也可以使用json_encode函数以简单的php方式完成此操作

$users = json_encode($users);

看看这个link

问候和快乐的编码!


4
投票

如果您正在考虑使用刀片模板,您可以使用@json Blade directive,如下所示:

<script type="text/javascript">
    var PARAMS = @json($params)
</script>

P.S.Tested in Laravel 5.6


2
投票
return Response::json([
    'data' => $value
], 200); 

希望这可以帮助!


1
投票

如果我们laravel 5.5然后你应该使用eloquent-resources


0
投票

你可以做的事情,你可以使用默认方法 - > toJson()与这样的用户集合

$users = DB::table('users')->get();
$users-toJson();

如果你确实遇到麻烦你可以在json_encode方法中构建php这里是完整的文档http://php.net/manual/en/function.json-encode.php

$users = DB::table('users')->get();
json_encode($users)

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.