def combine_technical_and_business(data, target_values1, target_values2):
    extracted_data = {}  # 根级别存储所有数据
    technical_found = False
    business_found = False

    def extract_nested(data, parent_key='', is_technical=False, is_business=False):
        nonlocal technical_found, business_found
        if isinstance(data, dict):
            for key, value in data.items():
                current_key = f"{parent_key}.{key}" if parent_key else key

                # 检查是否为技术标的内容
                if any(target in key for target in target_values1):
                    if not is_technical:
                        # 直接存储在根级别
                        extracted_data[key] = value
                        technical_found = True
                        # 标记为技术标内容并停止进一步处理这个分支
                        continue

                # 检查是否为商务标的内容
                elif any(target in key for target in target_values2):
                    if not is_business:
                        # 存储在'商务标'分类下
                        if '商务标' not in extracted_data:
                            extracted_data['商务标'] = {}
                        extracted_data['商务标'][key] = value
                        business_found = True
                        # 标记为商务标内容并停止进一步处理这个分支
                        continue

                # 如果当前值是字典或列表，且不在技术或商务分类下，继续递归搜索
                if isinstance(value, dict) or isinstance(value, list):
                    extract_nested(value, current_key, is_technical, is_business)

        elif isinstance(data, list):
            for index, item in enumerate(data):
                extract_nested(item, f"{parent_key}[{index}]", is_technical, is_business)

    # 开始从顶级递归搜索
    extract_nested(data)

    # 处理未找到匹配的情况
    if not technical_found:
        extracted_data['技术标'] = ''
    if not business_found:
        extracted_data['商务标'] = ''

    return extracted_data
target_values2=['投标报价','商务标','商务部分','报价部分','业绩','信誉','分值','计算公式','信用','人员','资格','奖项','认证','荣誉']
# update_json=combine_technical_and_business(clean_json_string(evaluation_res),target_values1,target_values2)