

# 解析包含 JSON 数据的字符串列
<a name="transforms-parse-json-column"></a>

这种转换解析包含 JSON 数据的字符串列并将其转换为结构或数组列，具体取决于 JSON 是对象还是数组。或者，您可以同时保留已解析的列和原始列。

可以提供或推断 JSON 架构（对于 JSON 对象），并可选择采样。

**将解析 JSON 列转换节点添加到作业图**

1. 打开资源面板，然后选择**解析 JSON 列**将新转换添加到作业图。添加节点时选择的节点将是其父节点。

1. 在节点属性面板上，输入作业图中节点的名称。如果尚未选择父节点，请从 **Node parents (父节点)** 列表中选择一个节点，用作转换的输入源。

1. 在**转换**选项卡上，选择包含 JSON 字符串的列。

1. （可选）在**转换**选项卡上，使用 SQL 语法输入 JSON 数据所遵循的架构，例如：如果是对象，则为 "field1 STRING, field2 INT"；或者如果是数组，则为 "ARRAY<STRING>"。

   如果是数组，则需要架构；但对于对象，如果未指定架构，则将使用数据推断出架构。为了减少推断架构的影响（尤其是在大型数据集上），您可以通过输入**用于推断架构的样本比率**来避免读取整个数据两次。如果该值小于 1，则使用相应的随机样本比率来推断架构。如果数据可靠且对象在行间一致，则可以使用较小的比率（例如 0.1）来提高性能。

1. （可选）在**转换**选项卡上，如果要同时保留原始字符串列和已解析的列，则可以输入新的列名。