【发布时间】:2022-01-21 17:24:25
【问题描述】:
当从 laravel 路由或控制器返回数据时,它们会自动作为 JSON 数据返回。这很酷,但是将这些数据读入网页很困难。因为它们是内联的,并且很难识别元素。我知道我可以使用类似:https://jsonformatter.curiousconcept.com/#。将 json 数据格式化为可读。但我想知道这是否可以在 laravel 网络路由或控制器中完成?
下面的路由是 web.php 文件的一部分。还有use Illuminate\Support\Facades\DB;。
Route::get('usersAsJson', function(){
return DB::table('users')->limit(3)->get();
});
这会返回内联 JSON,如下所示:
[{"id":1,"name":"Winifred 格洛弗","email":"wkeebler@example.net","email_verified_at":"2021-12-15 13:22:29","密码":"$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi","remember_token":"aUEs6ZqylC","created_at":"2021-12-15 13:22:29","updated_at":"2021-12-15 13:22:29"},{"id":2,"name":"伯纳丁 卡特","email":"michelle.terry@example.com","email_verified_at":"2021-12-15 13:22:29","密码":"$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi","remember_token":"RpXyMl9N8i","created_at":"2021-12-15 13:22:29","updated_at":"2021-12-15 13:22:29"},{"id":3,"name":"罗伯塔 Brakus","email":"halle.heathcote@example.org","email_verified_at":"2021-12-15 13:22:29","密码":"$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi","remember_token":"SfEj3TUqbY","created_at":"2021-12-15 13:22:29","updated_at":"2021-12-15 13:22:29"}]
我想要新的 JSON 格式:
[
{
"id":1,
"name":"Winifred Glover",
"email":"wkeebler@example.net",
"email_verified_at":"2021-12-15 13:22:29",
"password":"$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC\/.og\/at2.uheWG\/igi",
"remember_token":"aUEs6ZqylC",
"created_at":"2021-12-15 13:22:29",
"updated_at":"2021-12-15 13:22:29"
},
{
"id":2,
"name":"Bernadine Carter",
"email":"michelle.terry@example.com",
"email_verified_at":"2021-12-15 13:22:29",
"password":"$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC\/.og\/at2.uheWG\/igi",
"remember_token":"RpXyMl9N8i",
"created_at":"2021-12-15 13:22:29",
"updated_at":"2021-12-15 13:22:29"
},
{
"id":3,
"name":"Roberta Brakus",
"email":"halle.heathcote@example.org",
"email_verified_at":"2021-12-15 13:22:29",
"password":"$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC\/.og\/at2.uheWG\/igi",
"remember_token":"SfEj3TUqbY",
"created_at":"2021-12-15 13:22:29",
"updated_at":"2021-12-15 13:22:29"
}
]
【问题讨论】:
-
你需要一个 chrome 扩展。 chrome.google.com/webstore/detail/json-formatter/… - Laravel 以 text/json 的形式返回它,它是正确的,它只是你的浏览器呈现它。
-
作为替代方案,将您的呼叫包装在
dd()中,如dd(DB::table('users')->limit(3)->get());将显示良好的格式,但不是JSON。有点取决于你想用这个来完成什么。