You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Laravel中如何将JSON响应数据拆分赋值到不同变量

Laravel JSON响应拆分赋值实现方案

你可以通过JSON解析+变量提取两步完成需求,实现代码如下:

// 1. 先拿到接口返回的原始数组数据,此处假设原始数据存放在$rawResult变量中
// 如果你是在当前控制器生成响应,可直接从你构造的$res中取值,无需额外解析响应
$rawResult = [
    "response" => '{"ResCode":"TPB013","ResMsg":"Invalid BAR code, please refresh","ResStatus":1,"sign":"w0EQNoxIOkl0K3IKZYKJEPojBrHerRwdTHS4fhAz3n9CxfIprH0QklzgdNaWWzwmBUq++h2U432d4s5uHmCTjA=="}',
    "http_code" => 200
];

// 2. 提取外层变量
$response = $rawResult['response']; // 原始JSON响应字符串
$http_code = $rawResult['http_code']; // HTTP状态码

// 3. 解析JSON字符串为对象,提取内部字段
$parsedData = json_decode($response);
$ResCode = $parsedData->ResCode;
$ResMsg = $parsedData->ResMsg;
$ResStatus = $parsedData->ResStatus;
$sign = $parsedData->sign;

如果需要用数组形式操作解析后的内容,只需将json_decode($response)改为json_decode($response, true),后续取值方式改为数组形式即可:

$parsedData = json_decode($response, true);
$ResCode = $parsedData['ResCode'];
// 其余字段同理按数组键名取值

如果你是通过Laravel自带的Http facade请求第三方接口拿到的响应,可以直接调用内置方法自动解析,无需手动调用json_decode:

$httpResponse = Http::get('目标接口地址');
$http_code = $httpResponse->status();
$parsedData = $httpResponse->json();
// 后续提取字段逻辑同上

内容的提问来源于stack exchange,提问作者Hamza Qureshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:57:02