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

如何从API返回的嵌套JSON数组中提取指定分组数据?

提取嵌套数组中指定分组的子字段数据

我尝试了多次仍无法解决这个问题,需要帮助:

API返回的嵌套数组结构如下:

Array
(
    [group] => Array
        (
            [name] => Iedereen
            [desc] => Iedereen
            [type] => G
            [instituteNumber] => Array
                (
                )
            [children] => Array
                (
                    [group] => Array
                        (
                            [0] => Array
                                (
                                    [name] => Beheerders
                                    [desc] => Beheerders
                                    [type] => G
                                    [code] => Beheerders
                                    [instituteNumber] => Array
                                        (
                                        )
                                )
                            [1] => Array
                                (
                                    [name] => Personeel
                                    [desc] => Personeel
                                    [type] => G
                                    [code] => Personeel
                                    [instituteNumber] => Array
                                        (
                                        )
                                    [children] => Array
                                        (
                                            [group] => Array
                                                (
                                                    [0] => Array
                                                        (
                                                            [name] => DT
                                                            [desc] => directieteam
                                                            [type] => G
                                                            [code] => DT5
                                                            [instituteNumber] => Array
                                                                (
                                                                )
                                                        )
                                                )
                                        )
                                )
                        )
                )
        )
)

需求是提取Personeel分组下所有子分组的[name]和[type]字段数据,示例输出:

[name] => DT
[type] => G

解决方案

可以通过遍历定位目标分组后提取子字段,以下是PHP实现示例:

function extractPersoneelChildren($apiData) {
    $result = [];
    // 遍历顶层子分组,找到Personeel分组
    foreach ($apiData['group']['children']['group'] as $group) {
        if ($group['name'] !== 'Personeel') continue;
        
        // 提取该分组下所有子分组的name和type
        foreach ($group['children']['group'] as $childGroup) {
            $result[] = [
                'name' => $childGroup['name'],
                'type' => $childGroup['type']
            ];
        }
        // 如果子分组还有更深嵌套层级,可在此添加递归遍历逻辑
    }
    return $result;
}

// 调用函数并输出结果
$extracted = extractPersoneelChildren($yourApiResponse);
foreach ($extracted as $item) {
    echo "[name] => {$item['name']}\n";
    echo "[type] => {$item['type']}\n";
}

说明

  • 先遍历顶层子分组,精准定位到名称为Personeel的分组
  • 直接提取该分组下children节点内所有子分组的name和type字段
  • 若存在多层嵌套的子分组,可在遍历子分组时增加递归调用,实现全层级字段提取

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:35:17