在laravel中解码来自服务器的JSON



我有一个JSON文件需要解码,因为它有{"Text",然后是我发送的实际消息,在我的数据库中,它存储在"content"下。我正在尝试解码它,以便在我的表中有干净的数据。

我试着让我的控制器解码它,但它似乎什么都没做,也没有给我一个错误。我附上了一张照片,这样你就能明白我的意思了。我的控制器没有任何错误,但它似乎也没有任何影响。我需要在控制器中定义变量内容,但如果我从返回视图详细信息、message=>$message更改为详细信息、content=>content,我会得到非对象错误(由于解码,它现在是一个数组(。

我的控制器:

<?php
namespace AppHttpControllers;
use AppMessage;
use AppSuggestion;
use CarbonCarbon;
use GoogleAuthApplicationDefaultCredentials;
use GoogleCloudPubSubPubSubClient;
use GuzzleHttpClient;
use GuzzleHttpHandlerStack;
use IlluminateDatabaseEloquentModelNotFoundException;
use IlluminateFoundationAuthAccessAuthorizesRequests;
use IlluminateFoundationBusDispatchesJobs;
use IlluminateFoundationValidationValidatesRequests;
use IlluminateHttpRequest;
use IlluminateRoutingController as BaseController;
use IlluminateSupportFacadesStorage;
use PropaganistasLaravelPhonePhoneNumber;
class DetailsController extends BaseController
{
public function index($id)
{
$message = Message::find($id);
$content = json_decode($message->content,TRUE);
return view('details', ['message' => $message]);
}
}

`

我的Blade文件只是一个表,其中最重要的部分是:

<td>{{$message->type}}</td>
<td>{{$message->content}}</td>
<td>{{$message->response}}</td>
<td>{{$message->id}}</td>

一旦我可以将其转换为数组,我就可以将其分解为更受尊敬的列,我已经附上了UI的图像,这样你就可以看到我正在尝试做什么

显示内容位置的UI图像

我正在查看您附加的图像,您似乎想在列上显示原始JSON。如果是这种情况,则不需要对其进行解码。保持content不变,并将$mesage传递给视图。

检查我下面的代码:

public function index($id)
{
$message = Message::find($id);
return view('details', ['message' => $message]);
}

无需更改模板。

<td>{{$message->type}}</td>
<td>{{$message->content}}</td>
<td>{{$message->response}}</td>
<td>{{$message->id}}</td>

最新更新