You need to enable JavaScript to run this app. Dialog Flow Webhook JSON响应如何提取键值对展示给聊天用户
优惠活动
大模型
产品
解决方案
定价
更多

Dialog Flow Webhook JSON响应如何提取键值对展示给聊天用户

聊天场景下访问Webhook响应字段的方法

你拿到的Webhook响应为标准JSON结构,顶层包含2个字段:product_data(存放商品信息的数组)、source(数据来源标识)。其中product_data数组的每一项对应单个商品的全部属性字段。

通用访问逻辑

  • 校验数据来源:直接读取顶层source字段即可,示例响应中该字段值为webhookdata
  • 访问商品属性前先判断product_data数组长度是否大于0,避免空数据导致报错
  • 数组非空时,取下标为0的首个商品对象的对应属性即可,取值对应规则如下:
    • 商品分类:product_data[0].Category
    • 商品系列:product_data[0].Collection_EN
    • 商品名称:product_data[0].Product_Name_EN
    • 商品规格:product_data[0].Size_Volume_TC
    • 商品SKU:product_data[0].Sku
    • 商品类型:product_data[0].Type

常用场景代码示例

JavaScript/Node.js(适用于飞书/企业微信自定义机器人、网页聊天插件)

// 假设Webhook响应已赋值给res变量
if (res.product_data?.length) {
  const product = res.product_data[0]
  // 拼接给用户的回复内容
  const reply = `为你查询到匹配商品:
📦 分类:${product.Category}
✨ 系列:${product.Collection_EN}
🛍 名称:${product.Product_Name_EN.trim()}
📏 规格:${product.Size_Volume_TC}
🔖 SKU编码:${product.Sku}
🎯 类型:${product.Type}`
} else {
  const reply = "未查询到对应商品信息"
}
// 直接将reply内容发送给聊天用户即可

Python(适用于钉钉机器人、微信公众号/小程序后端、自定义聊天服务)

# 假设Webhook响应已赋值给res变量
product_list = res.get("product_data", [])
if product_list:
    product = product_list[0]
    reply = f"""为你查询到匹配商品:
📦 分类:{product['Category']}
✨ 系列:{product['Collection_EN']}
🛍 名称:{product['Product_Name_EN'].strip()}
📏 规格:{product['Size_Volume_TC']}
🔖 SKU编码:{product['Sku']}
🎯 类型:{product['Type']}"""
else:
    reply = "未查询到对应商品信息"
# 直接将reply内容发送给聊天用户即可

注意事项

如果业务场景允许返回多个商品,直接遍历product_data数组拼接所有商品信息即可,取值前增加非空判断可以避免字段缺失、数据为空时的程序报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 19:54:02