无法从 Web API 访问 Json 在 ADF 中调用并在 SQL 中插入 table

Trouble accessing Json from Web API call in ADF and inserting in SQL table

我有一个用于提取数据的 REST API。 我正在使用 Azure 数据工厂通过使用 Web 组件然后获取 Json 输出并使用存储过程并尝试插入数据库 table.

当我在 SQL 中使用示例 Json 进行测试时,它工作正常,而来自 ADF 中 WEB 调用的 json 在每个节点前面都有“”值如下。

[{\"company_id\":\"test\",\"condition_assessments_ID\":\"SON-testMOTION-SON-MOTION ANALYSIS - SMA & test-2022-04-27@10_00_00\"}]

而且我认为正因为如此,我遇到了像

这样的错误

"Execution fail against sql server. Sql error number: 13609. Error Message: JSON text is not properly formatted. Unexpected character 'S' is found at position 0."

这是一个问题,为了避免它,所以我将 Json 转换为字符串,并添加了更多的反斜杠,但没有帮助。

如何保留 json 格式以便存储过程直接插入它?

转义字符反斜杠 \ 出现在 Azure 数据工厂中出现双引号的任何地方。

即使存储过程输入显示有反斜杠,当数据加载到 Sink (SQL Table) 时,它会删除反斜杠并以 JSON 格式插入数据。

我已经在我的实验室中使用示例 API 数据进行了重现,并且能够按预期加载。

  1. Web activity 输出:

  1. 将 web activity 的输出通过将其转换为字符串传递给存储过程参数。这里我只传递输出中的数据部分。

@string(activity('Web1').output.data)

存储过程输入:

SQLtable存储过程后的数据为运行: