You need to enable JavaScript to run this app. PHP循环处理JSON工单数据:按工单提取所有主题的实现求助
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.09 12:06:11