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

多数组参数获取场景下无法提取Body中所有记录的CompanyName如何解决

多数组下CompanyName参数提取失效解决方案

问题根因

你使用的$decodedJson->Body->Deeds->Deed->CompanyName语法默认Deed字段为单个对象,但实际业务返回结构中,Body->Deeds->Deed通常为包含多条记录的索引数组,直接指向CompanyName属性会因寻址失败返回空值。

修复方案

第一步:先确认返回结构

执行下方代码打印Deed字段属性,确认其数据类型:

var_dump($decodedJson->Body->Deeds->Deed);

第二步:根据结构调整取值逻辑

  • 需提取所有Deed记录下的CompanyName时,使用循环遍历取值:
$companyNames = [];
foreach ($decodedJson->Body->Deeds->Deed as $deedItem) {
    $companyNames[] = $deedItem->CompanyName;
}

执行后$companyNames即为所有CompanyName参数组成的数组。

  • 仅需提取第一条Deed记录的CompanyName时,直接加索引取值:
$firstCompanyName = $decodedJson->Body->Deeds->Deed[0]->CompanyName;

额外注意事项

如果你调用json_decode时第二个参数设置为true,返回结果会是关联数组而非对象,需将取值语法中的箭头替换为中括号:

// 关联数组下的单条取值示例
$firstCompanyName = $decodedJson['Body']['Deeds']['Deed'][0]['CompanyName'];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:42:02