如何使用 PHP/Laravel 返回 Json 数据数组?
Posted
技术标签:
【中文标题】如何使用 PHP/Laravel 返回 Json 数据数组?【英文标题】:How to return Json data array with PHP/Laravel? 【发布时间】:2021-12-02 08:26:31 【问题描述】:我正在使用 Laravel 开发一个 api,我必须在 url 中获取 json 文件的数据,这是我的代码:
public function index()
$json_file=file_get_contents("url that I'm using");
$json_str = json_decode($json_file);
echo $json_str;
JSON 文件:
"success":true,
"clients": [
[
"name": "Tyler Durden",
"job": "leader of the ..."
],
]
但是当我访问调用 index() 的路由时,我得到了这个错误:
Object of class stdClass could not be converted to string
我想获得任何一对客户并保存他们,有人可以帮助我吗?
【问题讨论】:
【参考方案1】:您不能使用echo
打印对象,要打印您可以使用的对象
print_r($json_str);
var_dump($json_str);
在你的情况下,你只需要一个return
声明
return $json_str;
在 Laravel 中你也可以这样做
return response()->json($json_str);
【讨论】:
“return $json_str”已经生效,但我现在如何打印“clients”值? 您可以通过return $json_str['clients'];
访问它们,如果您的意思是这样的话。
它不起作用,但我使用了return $json_str->clients[0];
并且为我服务【参考方案2】:
您正在尝试打印 json 而不是字符串。 echo 只会打印一个字符串。
【讨论】:
【参考方案3】:返回响应($json_str);或返回 response()->json($json_str);带状态码 return response()->json(['data'=>$json_str],200);
【讨论】:
谢谢,伙计。但是现在我正在尝试获取一对“客户”数据的值,有什么提示吗?以上是关于如何使用 PHP/Laravel 返回 Json 数据数组?的主要内容,如果未能解决你的问题,请参考以下文章
在 PHP / Laravel 中以抽象的方式包装 JSON 响应
SQL 到 JSON,ORM 用于 PHP 7 和 Laravel
如何在返回所有错误的同时使用 PHP laravel 中的公共类有选择地验证多个字段