PHP循环处理JSON工单数据:按工单提取所有主题的实现求助
按工单维度提取所有交互主题的实现方法
处理思路
你手上的JSON是标准两层嵌套结构:外层每一个数组元素对应1条独立工单,内层Interactions字段存储了该工单下全部沟通交互记录,要实现按工单归集主题,只需要做两层循环遍历即可,无需复杂逻辑:
- 第一层遍历外层工单数组:对每一条工单提取唯一标识
TicketID,作为该组归集数据的主键 - 第二层遍历当前工单下的
Interactions数组:逐个取出每个交互条目的Subject字段,归集到当前工单对应的主题列表中 - 最终输出整理后的结构化结果
可直接复用的代码示例
JavaScript 实现(适合前端/Node.js环境处理)
// 假设已将JSON文件内容读取为ticketList变量 const organizedTicketData = ticketList.map(ticket => ({ 工单ID: ticket.TicketID, 客户姓名: ticket.CustomerName, 工单创建时间: ticket.DateCreate, 关联所有交互主题: ticket.Interactions.map(item => item.Subject) }))
Python 实现(适合本地批量处理文件)
import json # 读取本地存储的工单JSON文件 with open("你的工单数据文件.json", "r", encoding="utf-8") as f: ticket_list = json.load(f) organized_data = [] for ticket in ticket_list: # 归集当前工单下所有交互的主题 all_subjects = [record["Subject"] for record in ticket["Interactions"]] organized_data.append({ "工单ID": ticket["TicketID"], "客户姓名": ticket["CustomerName"], "关联所有交互主题": all_subjects })
示例数据运行效果
按照你提供的样例数据,上述代码最终会输出如下整理结果:
工单ID:28890
- 关联交互主题:
Without Subject、RE: Without Subject、RE: Without Subject工单ID:28891
- 关联交互主题:
Complaint、RE: Complaint
小提示:处理前可以先做空值校验,避免个别工单的Interactions字段为空导致循环报错,25条工单的体量用上述逻辑处理只需要毫秒级完成。
内容的提问来源于stack exchange,提问作者George Martins
相关产品推荐
相关产品推荐

