【问题标题】:How to return Json data array with PHP/Laravel?如何使用 PHP/Laravel 返回 Json 数据数组?
【发布时间】: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

我想获得任何一对客户并保存他们,有人可以帮助我吗?

【问题讨论】:

    标签: php arrays json laravel


    【解决方案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);

      【讨论】:

      • 谢谢,伙计。但是现在我正在尝试获取一对“客户”数据的值,有什么提示吗?
      猜你喜欢
      • 1970-01-01
      • 2012-10-30
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 2020-09-24
      相关资源
      最近更新 更多