定义
JSON 变量提取器节点可以从JSON格式的输入数据中提取指定的字段(值)。该节点能够解析复杂的JSON字符串,并将其作为结构化信息保存,供后续节点直接使用。

快速入门 / 如何使用
节点配置详情:在 GoInsight.AI 中右键单击并选择“添加节点”以将“JSON 变量提取器”节点添加到工作流中。

1. 配置JSON 变量提取器节点的‘值’参数

“输入值”有两个选项:“变量”和“值”,说明如下:
选项 | 描述 |
---|---|
变量 | 从工作流中的其他现有变量中检索JSON数据,适用于动态获取JSON数据的场景。 |
值 | 输入一个静态的JSON字符串作为数据源,适用于已知且固定的JSON数据。 |
如果“输入值”设置为“变量”,则需要在“设置变量值”中选择一个包含有效JSON格式数据的现有变量;若选择“值”,则需在文本框中输入JSON格式字符串。示例:
{ "name": "Scout", "age": 18 }
2. 配置JSON 变量提取器节点的‘提取模式’和‘输出变量’参数
提取模式包括“提取字段”和“整体输出”,对应不同的输出变量格式,说明如下:
- 提取字段: 允许从JSON数据中提取特定字段或嵌套字段值。点击“+”以指定一个或多个输出变量。每个输出变量必须包括“变量名称”、“目标字段”和“字段数据类型”。
- 整体输出:将整个JSON数据作为单个输出,不提取任何字段。点击“+”以添加一个输出变量,必须包括“变量名称”和“字段数据类型”。
- ‘字段数据类型’选项:输出字段的数据类型涵盖了JSON数据中常见的数据格式,允许用户根据需要提取和处理不同类型的数据。描述如下:
类型 | 说明 |
---|---|
String | 用于存储文本信息,如姓名、地址等。 |
Number | 用于存储数值信息,可以是整数或浮点数,如年龄、价格等。 |
Bool | 布尔类型,仅包含true和false两个值,常用于逻辑判断。 |
Array[Bool] | 布尔类型的数组,用于存储多个布尔值,如任务完成状态集合。 |
Array[Number] | 数字类型的数组,用于存储多个数字,如产品价格、数量等。 |
Array[Object] | 对象类型的数组,用于存储复杂的数据结构,如用户信息列表。 |
Array[String] | 字符串类型的数组,可以包含多个字符串,如多个产品名称、城市名称等。 |
Object | 用于以键值对格式存储数据,如详细用户信息、订单详情等。 |
典型用例
假设“输入值”设置为“值”进行静态输入,或设置为“变量”从现有变量中选择,输入以下JSON:
{ "name": "Scout", "age": 18 }
若要从JSON中提取字段name和age,并将其存储在不同变量中,请进行如下配置:
1. 提取模式:选择“提取字段”
输出变量1
- 变量名称:userName
- 目标字段:name
- 字段数据类型:字符串
第二个输出变量
- 变量名称:userAge
- 目标字段:age
- 字段数据类型:数字
您将获得以下两个输出变量:
{ "Outputs": [ { "Name": "userName", "Type": "string", "Value": "Scout" }, { "Name": "userAge", "Type": "number", "Value": 18 } ] }
若希望将整个JSON对象视为单个字符串(例如在将JSON数据发送到内部和外部系统时),请进行如下配置:
2. 提取模式:选择“整体输出”
输出变量
- 变量名称:userInfo
- 字段数据类型:对象
您将获得以下输出变量:
{ "Outputs": [ { "Name": "userInfo", "Type": "object", "Value": { "age": 18, "name": "Scout" } } ] }
3. 输入多级嵌套JSON结构。
例如,以下JSON是一种多级嵌套结构:
{ "user": { "name": "Scout", "info": { "age": 18, "hobbies": ["read", "run"] } } }
若要提取“age”字段,其目标字段路径为:$.user.info.age
- 在这个 JSON 变量提取器节点示例中,$.user.info.age是一个通用路径表达式(JSONPath),用于指定多级嵌套JSON结构中要提取字段的位置。其组成说明如下:
符号/内容 | 说明 |
---|---|
‘$’符号 | ‘$’表示JSON数据的根节点,是路径表达式的起点。无论JSON结构多复杂,路径表达式都以‘$’开头。 |
点(.)分隔字段 | 点(.)用于分隔JSON对象中的不同级别,每个点后接当前级别的字段名称。 |
JSON 变量提取器节点支持标准的JSON Path语法。如需使用更复杂的提取语法,请参考本文档。请注意,该节点仅支持使用双引号"..." 包裹的字符串值,不支持单引号'...'。 例如,在条件过滤场景[?(@.field == "value")]中,`value`必须用双引号括起来才能成功提取。
实际应用场景

YouTube视频过滤工作流步骤:
- 1. 在‘开始’节点中输入关键词。
- 2. 在‘HTTP请求’节点中输入API信息,使用关键词搜索相应的YouTube视频。
- 3. 由于HTTP响应可能包含大量视频信息,使用‘JSON 变量提取器’节点提取所需的标题、发布时间等信息,过滤掉其他冗余信息。
通过以上步骤,即可直接获取所需的YouTube视频的标题、发布时间等信息。
常见问题
检查是否存在以下情况:
- 一次性加载一个大的 JSON 文件(例如,100MB 以上的日志文件)。
- 提取了过多冗余字段。
- 重复解析相同的结构化数据。