【问题标题】:Laravel Error returns when it does json_decodeLaravel 执行 json_decode 时返回错误
【发布时间】:2020-11-17 21:00:13
【问题描述】:

我在 javascript 的帮助下以 json 格式获取数据。我编写的javascript代码实际上以我想要的格式发送数据如下:

var log_lists = JSON.stringify(Object.assign({}, $scope.log_list));

我在网上查的时候,查到传入的数据是json格式的,并且被所有人验证过

当我发送请求时,它被控制器正确接收,当我返回时,我看到控制台中返回的数据如下。

我的控制器代码

$log_example = $request->all();
return $log_example;

返回数据

{
   "0":["1","SALES","5,00","REMOVED"],
   "1":["2","SALES","10,00","REMOVED"],
   "2":["1","BUYER","2","DROPPED"]
}

我使用 json_decode 函数在 foreach 循环中运行它,当我再次返回数据时,我收到错误“服务器错误”

return json_decode($log_example, true);

// 返回错误

我找不到出错的地方。

感谢您的帮助和建议。

【问题讨论】:

  • json 似乎没问题。尝试解码后尝试var_dump($log_example)Log::info($log_example); 以及Log::info(json_last_error_msg());。但是,您必须将解码与返回分开。
  • $request->all() 默认返回一个数组,不带json_decode
  • 感谢@MohamedMelouk 真实

标签: javascript php json laravel


【解决方案1】:

$request->all() 默认返回一个数组。 先编码再解码如下

$log_example = $request->all();
$logs = json_encode($log_example);
$data = json_decode((string) $logs, true);
return $data;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-04
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    相关资源
    最近更新 更多