【问题标题】:How to remove escape character at an JSON string array?如何在 JSON 字符串数组中删除转义字符?
【发布时间】:2021-02-19 02:24:43
【问题描述】:

在 Azure 数据工厂中,我有查找活动。 “查找”活动,从 SQL DB(多于 1 行)读取 JSON 数据并带入 ADF 管道。

查找活动输出包含转义字符。请看这个:

 {\ "resourceType\ ":\ "counter","id" :\ "9i5W6tp-JTd-24252\ "

如何删除转义字符?任何帮助表示赞赏。

【问题讨论】:

  • 顺便说一句,由于json函数只支持字符串类型而不支持数组类型,所以我们要做一些比较复杂的工作。

标签: azure azure-devops azure-data-factory


【解决方案1】:

由于您的查询结果是一个 JSON 字符串数组,我们需要做更多的工作来去除转义字符。

这是我的步骤:

  1. 首先,我们可以定义两个数组类型变量。

  2. 这里是摘要,查找活动将返回一个 JSON 字符串数组。 这是我的 Lookup 活动的输出。数据结构将影响 Foreach 活动内 Append 变量处的以下表达式。

  3. 在 ForEach 活动中,我们可以使用@activity('Lookup1').output.value 来获取 JSON 字符串数组。

  4. 在 ForEach 活动中,我们可以使用@json(item().value) 来获取 JSON 字符串数组的一个对象并删除转义字符。

  5. 最后,我们可以使用 SetVariable 活动来检查结果。

在我运行调试之后。我们可以看到正确的结果:

【讨论】:

  • 附加变量导致我的问题。我认为,基于我的数据结构如下: { "count": 2, "value": [ { "JSONData": "{\"resourceType\":\"counter\",\"id\ 我应该替换 @ json(item().value) 和 @json(item().JSONData) 你说什么?
  • 不,请使用@json(item().value)。这是 Lookup 活动的固定输出。
  • 当我使用 @json(item().value) 然后附加变量给我这个错误:无法评估表达式 'json(item().value)' 因为属性 'value' 没有' t 存在,可用属性为“JSONData”。它在那里有价值。不知道为什么这么说
  • 非常抱歉,您是对的!我有点乱。请使用@json(item().JSONData)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多