我需要通过三个步骤创建逻辑应用工作流程:
- 收到 HTTP 请求时 (JSON)
- 将 Json 从请求转换为 XML
- 将 XML 文件保存到 FTP
到目前为止我做了什么:
- 添加操作“收到 HTTP 请求时”
- 添加 Liquid 将 JSON 转换为 XML (但我没有看到选项 JSON to XML...仅将 JSON 转换为 JSON,将 JSON 转换为 文本、XML 到 JSON、XML 到文本)
- 添加操作“FTP - 创建文件”
我还创建了集成帐户并尝试添加用于将 JSON 映射到 XML 的映射,但我找不到任何示例/模板来执行此操作...
这可能吗?也许还有另一种方法可以在这两种格式之间进行转换?
最佳答案
当您只想将 JSON 负载转换为 XML 文件,而不对数据进行任何转换时,您可以使用工作流定义语言的内置 xml() 函数。
文档中的详细信息:Workflow Definition Language reference #xml
我制作了一个小型测试逻辑应用程序来演示您的用例。它看起来像这样:
如您所见,我在触发器主体上使用了 xml 函数 @xml(triggerBody())
作为我的 FTP 文件内容的输入。
备注:只有当您的 JSON 消息具有单个根节点时,这才有效。否则xml转换将会失败。您将收到此错误:
The provided value cannot be converted to XML: 'JSON root object has multiple properties. The root object must have a single property in order to create a valid XML document. Consider specifying a DeserializeRootElementName.
您可以通过将根节点连接到 JSON 负载来解决这个问题。该函数将如下所示:@xml(json(concat('{\"rootnode\":',triggerBody(),'}')))
祝你测试顺利。如果您需要更多帮助,请告诉我。
关于json - 将 JSON HTTP 请求转换并转换为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51822114/