如何使用 Azure 数据工厂将属性中包含点的复杂 JSON 列转换为 SQL 结果?

How to transform SQL result with complex JSON column containing dots in properties using Azure Data Factory?

使用 Azure 数据工厂流我正在从 Azure SQL 数据库中读取数据。 结果集有一些简单的列,比如Uid nvarchar(100)但是有一列是JSON内容Json nvarchar(max).

JSON 内容结构如下所示(每行有一个 JSON 文档):

{
  key: "Foo",
  dt.topic : "Foo Bar"
}

我现在正在尝试使用包含 key 和 [=16] 的“解析转换”将结果集的 JSON 字符串转换为已解析的 JSON 对象=].我可以使用表达式 (key as string).

成功映射 key

但是如何映射 dt.topic?这不起作用:

(dt.topic as string)

当我添加一个带点的 属性 时,编辑器中到处都是红色波浪线,如果我决定“保存并完成”,我会收到错误“表达式类型”无法计算,更正表达式。"

有趣的是,按照评论中的建议使用“检测类型”会像我一样添加属性,使用点符号,导致完全相同的错误。

在 Azure 数据工厂中,带有特殊字符的列名称应包含在大括号 {} 中。

示例:

要解析 属性 名称中带有点的 JSON 值,属性 名称应在大括号 {}.

中使用

({dt.topic} as string)