定义
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 | Bool类型,仅包含true和false两个值,常用于逻辑判断。 |
| Array[Bool] | Bool类型的数组,用于存储多个Bool值,如任务完成状态集合。 |
| Array[Number] | 数字类型的数组,用于存储多个数字,如产品价格、数量等。 |
| Array[Object] | 对象类型的数组,用于存储复杂的数据结构,如用户信息列表。 |
| Array[String] | 字符串类型的数组,可以包含多个字符串,如多个产品名称、城市名称等。 |
| Object | 用于以键值对格式存储数据,如详细用户信息、订单详情等。 |
典型用例
假设“输入值”设置为“值”进行静态输入,或设置为“变量”从现有变量中选择,输入以下JSON:
{
"name": "Scout",
"age": 18
}
若要从JSON中提取字段name和age,并将其存储在不同变量中,请进行如下配置:
1. 提取模式:选择“提取字段”
输出变量1
- 变量名称:userName
- 目标字段:name
- 字段数据类型:String
第二个输出变量
- 变量名称:userAge
- 目标字段:age
- 字段数据类型:Number
您将获得以下两个输出变量:
{
"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 以上的日志文件)。
- 提取了过多冗余字段。
- 重复解析相同的结构化数据。
发表评论.