> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fetchhive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# JSON Schema

> 配置一个定义结构化字段并返回 JSON 形状输出供后续步骤使用的工作流步骤

# JSON Schema

当你希望工作流步骤定义一个结构化的输出形状,以便后续步骤可以逐字段引用时,请使用 **JSON Schema**。

## 配置

| 选项                                             | 是否必填 | 说明                                                                 |
| ---------------------------------------------- | ---- | ------------------------------------------------------------------ |
| Name                                           | 否    | 步骤在工作流画布中的标签。                                                      |
| Schema Items                                   | 是    | **Schema Items** 中的行。每行有一个 **Key** 和一个 **Value / Description** 字段。 |
| 从 **Search steps...** 的 **Utilities** 分组添加此步骤。 |      |                                                                    |

在 **Schema Items** 中,点击 **Add Item** 添加另一个字段。每行允许你定义输出键并描述该键应保存的值。**Value / Description** 字段支持 **Insert Variable**。

如果值解析为 JSON 数组或对象,Fetch Hive 会将其存储为结构化 JSON,而不是字符串。例如,值 `{{step_2.output.items}}` 可以生成一个数组,**Iteration** 步骤稍后可以使用。你也可以从多个数组变量构建 JSON 数组字面量,例如 `[{{step_2.output.items}},{{step_3.output.items}}]`;这会创建一个数组的数组,而不是扁平化的串联。

## 输出

点击步骤标题中的 **Run** 来测试步骤。运行完成后,Fetch Hive 会在 **Output** 中显示生成的结果。

在后续步骤中使用变量选择器插入该次运行的确切输出路径。基础引用为:

```text theme={null}
{{STEP_IDENTIFIER.output}}
```

如果你想要完整的结构化结果,直接引用基础输出:

```text theme={null}
{{step_2.output}}
```

如果你的运行返回嵌套键,变量选择器会显示你可以插入到后续步骤的确切字段。

## 示例

从 **Search steps...** 的 **Utilities** 分组中添加 **JSON Schema**。

将 **Name** 设置为类似 `Article fields` 的内容。

在 **Schema Items** 中,添加诸如 `title`、`summary` 和 `sentiment` 的键。

对于每个项目,在 **Value / Description** 中描述值应包含什么。如果某个字段应依赖于早前的工作流数据,点击 **Insert Variable** 并添加该引用。

点击 **Run** 并在 **Output** 中查看结构化结果,然后再在后续步骤中使用这些键。

{/* Add screenshot: JSON Schema output after a test run */}

## 备注

* 设置面板允许你通过 **Add Item** 和每行上的删除操作添加和移除 schema 行。
* 此步骤编辑器在其设置面板中不显示 **When the step fails** 控件。
* JSON Schema 为下游步骤(包括 **Iteration**)保留解析后的 JSON 数组和对象。它目前不会自动将两个数组合并为一个扁平数组。
* 如果你想确认后续步骤可用的确切键,在测试运行后使用变量选择器。

另见:[创建和编辑](../../creating-and-editing)、[测试与迭代](../../testing-and-iteration) 和 [AI Prompt](../ai/ai-prompt)
