【问题标题】:sending 4 parameters in one object or one object array to rest API response在一个对象或一个对象数组中发送 4 个参数以休息 API 响应
【发布时间】:2020-03-03 16:36:47
【问题描述】:

我正在学习 RestAPI。我想在一个对象中发送 4 个参数来响应。

代码:

 return response()->json(['success'=>true,'message'=>'success', 'data' => array($my_total_credit,$latest_credit_date,$my_total_buyers,$total_payment_requests)]);

使用上面的代码,我得到如下响应:

{
    "success": true,
    "message": "success",
    "data": [
        75000,
        "2019-10-24",
        3,
        4
    ]
}

在上面的代码中,我将数组发送到数据。 预期:但现在我想要一个对象或对象数组的响应,该对象或对象数组将具有以下 4 个参数:

{
    "success": true,
    "message": "success",
    "data": [{
     "parameter1": "75000",
     "parameter2": "2019-10-24",
     "parameter3": "3",
     "parameter4":  "4"
    }]
}

我将如何获得预期的响应? 请指导。 提前致谢。

【问题讨论】:

    标签: json laravel rest api response


    【解决方案1】:
    $my_total_credit = ...;
    ...
    
    return response()->json([
      'success'=>true,
      'message'=>'success', 
      'data' => array(array(
          "parameter1" => $my_total_credit,
          "parameter2" => $latest_credit_date,
          "parameter3" => $my_total_buyers,
          "parameter4" => $total_payment_requests 
      ))
    ]);
    

    如果你能从数据库查询中得到这些数据,你只能这样做:

    $data = Model::where('xxx')->selectRaw(
        'xxx AS parameter1, xxx AS parameter2, xxx AS paramter3'
      )->first();
    return response()->json([
      'success'=>true,
      'message'=>'success', 
      'data' => array($data)
    ]);
    
    

    尝试通过json_encode()测试php数组的响应

    >>> $a=[[1 => '2342', 2 => 'fsaf']]
    >>> json_encode($a, true)
    => "[{"1":"2342","2":"fsaf"}]"  # output
    
    >>> $a=[1 => '234', 2=> 'fasa']
    >>> json_encode($a, true)
    => "{"1":"234","2":"fasa"}" # output
    => 
    

    【讨论】:

    • 感谢您的帮助。我只需要有关此的更多信息。我收到了类似{ "success": true, "message": "success", "data": { "parameter1": 75000, "parameter2": "2019-10-24", "parameter3": 3, "parameter4": 4 } } 的回复,数据[ ] 如何更改为{ }?我也从 4 个不同的查询中获取数据。你能更新你的答案吗?
    • @ganesh 我已经更新了我的答案,可能你的 4 个不同的查询可以改为一个。
    • 第一个代码完美运行。我不理解你的第二个代码。我有 4 个不同型号的不同查询
    • 如果您的4个模型有关系...,可能可以通过一个sql查询来选择它们。
    猜你喜欢
    • 2015-11-09
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 2015-11-12
    • 2021-05-14
    相关资源
    最近更新 更多