1

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

逻辑应用进程

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

在此处输入图像描述

{"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...
4

1 回答 1

0

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

replace(replace(string(<your data>), '@', ''), '?', '')
于 2020-06-15T05:33:04.573 回答