您现在的位置是:自如初>LaravelLaravel

Laravel9 多种方式把集合数据转为 JSON 数据

温新 2022-09-05 00:23:57 Laravel 494人已围观

简介Laravel9 多种方式把集合数据转为 JSON 数据。本篇文章将学习使用 4 种方法,将数据转为 JSON 格式。

hi,我是温新,一名PHPer

准备工作

一:创建一个项目

二:定义路由

<?php
// routes/web.php
   
use Illuminate\Support\Facades\Route;


Route::get('users', [\App\Http\Controllers\Test\UserController::class, 'index']);

三:创建一个控制器

<?php
// Test/TestController.php
namespace App\Http\Controllers\Test;

use App\Http\Controllers\Controller;

class UserController extends Controller
{
}

toJson() 方法将模型数据转为 JSON 数据

获取所有结果

<?php

namespace App\Http\Controllers\Test;

use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
   public function index(Request $request)
   {
       return User::query()->latest()->get()->toJson();
   }
}

返回结果

[
 {
   "id": 282,
   "name": "Ms. Burdette Fadel",
   "email": "brandon.mills@example.net",
   "email_verified_at": "2022-09-04T15:55:43.000000Z",
   "created_at": "2022-09-04T15:55:47.000000Z",
   "updated_at": "2022-09-04T15:55:47.000000Z"
 },
 {
   "id": 283,
   "name": "Kenny Schimmel II",
   "email": "arvid57@example.com",
   "email_verified_at": "2022-09-04T15:55:43.000000Z",
   "created_at": "2022-09-04T15:55:47.000000Z",
   "updated_at": "2022-09-04T15:55:47.000000Z"
 }
]

获取一条数据

public function index(Request $request)
{
   return User::query()->find(1)->toJson();
}

返回结果

{
 "id": 1,
 "name": "Laverna Smitham",
 "email": "claudine.reichert@example.com",
 "email_verified_at": "2022-09-04T15:55:43.000000Z",
 "created_at": "2022-09-04T15:55:46.000000Z",
 "updated_at": "2022-09-04T15:55:46.000000Z"
}

json_encode() 将模型数据转为 JSON 数据

public function index(Request $request)
{
   // 所有数据
   $users = User::query()->latest()->get();
   
   // 一条数据
   // $user = User::query()->latest()->find(1);

   return json_encode($users);
}

集合数据转为 JSON 数据

public function index(Request $request)
{
   $users = collect([
       ['id' => 1, 'name' => 'lisi',   'age' => 18],
       ['id' => 2, 'name' => 'wangwu', 'age' => 18],
   ]);

   return $users->toJson();
}

使用 response json

public function index(Request $request)
{
   $users = User::query()->where('id', '<', 5)->latest()->get();
   return response()->json($users);
}



很赞哦!(6)

文章评论

登录 注册

自如初--时间轴

QQ登录

站名:自如初

独白:向前走!向前走!

邮箱:xyhcx@foxmail.com

站点信息