【问题标题】:Azure Logic App and Data Flow - Remove ? and @ from JSON (XML)Azure 逻辑应用程序和数据流 - 删除?和来自 JSON (XML) 的 @
【发布时间】:2020-06-14 11:41:06
【问题描述】:

我创建了一个将 XML 转换为 JSON 的逻辑应用

LogicAppProcess

这项工作“很棒”,在这部分过程中没有问题 - 但是,这保留了一些 ?和 @ 一些列名中的符号。这在 Azure 数据流的下游不起作用,因为 @ 符号正在被拾取参数..

enter image description here

{"code":"BadRequest","message":"ErrorCode=InvalidTemplate, ErrorMessage=Unable to parse expression 'version'","target":"pipeline/PL_XXXX/runid/XXXX","details":null,"error":null}

关于我如何替换的任何想法?和@符号在流程的第一点(逻辑应用程序)或在数据流中适应这些?

这就是数据流代码在 Script 元素中看到错误的方式 - ?xml 没有引发错误,但第一个 @ 是,并将 @version 显示为错误

"script": "source(output(\n\t\t{?xml} as ({@version} as string, {@encoding} as string),\n\t\trss as ({@version} as string, {@xmlns:cisAbstract} as string...

【问题讨论】:

    标签: azure-logic-apps azure-data-flow


    【解决方案1】:

    您可以在逻辑应用中使用replace() 函数将?@ 替换为空字符串""。如果您的数据不是字符串类型(如json对象或数组或任何其他类型),您可以使用string()函数先将它们转换为字符串,然后执行replace()函数。如下表达式所示:

    replace(replace(string(<your data>), '@', ''), '?', '')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 2011-02-25
      • 2013-04-12
      相关资源
      最近更新 更多