当我收到如下 json 格式的消息时:
{
"Details":{
"Type":"Cash",
"Payid":"PAY123456",
"Amount":"9000,00",
"Status":"Successful",
}
}
我需要返回以下 JSON 格式的响应,仅包含收到的两个参数(类型和 Payid)
{
"Details": {
"Type": "Cash",
"Payid": "PAY123456"
}
}
目前在我的控制器中它将返回收到的全部详细信息。 但我该如何修改它,以便它只返回某些参数。
public function returnResponse(Request $request)
{
$datas= $request->getContent();
$returnData= json_decode($datas, true);
return response()->json($returnData);
}
这是一种方法:
public function returnResponse(Request $request){
$datas = $request->getContent();
$parsedJson = json_decode($datas, true);
$returnData = array('Details' => array(
'Type' => $parsedJson['Details']['Payid'],
'Payid' => $parsedJson['Details']['Payid'],
'Confirmation' => 0 // do the same in this line if you want to add more
));
return response()->json($returnData);
}
此代码假设“详细信息”中始终包含“类型”和“Payid”。
结果将是:
Array
(
[Details] => Array
(
[Type] => PAY123456
[Payid] => PAY123456
[Confirmation] => 0
)
)
注意,如果你只想将
Confirmation
添加到原始数组中,可以使用:
$returnData['Details']['Confirmation'] = 0;
您还可以隐藏您不希望客户或用户看到的参数,转至模型文件并
protected $hidden=[
// here you will type the property name like
"update_at",
]