如何使用Logic Apps将方括号保持在单个数组中?

问题描述

我正在将XML文档解析为JSON,尽管我在json模式中声明了类型数组,但如果数组中只有一个元素,它就会转换成这样的对象。

listofCodes”:{“代码”:{{“代码”:“ 111”}}}

但是我需要这个: “ listofCodes”:{“ Codes”:[{“ Code”:“ 111”}]}

我在文档中有多个数组,并且只有多个数组时才得到方括号。 手动添加属性不是一种选择。 有人知道我可以修改些什么来在逻辑应用程序中解决此问题吗?

解决方法

不幸的是,对于我们在逻辑应用程序中实现此要求没有一个好的解决方案。这是另一个post,与您的问题类似。要实现该要求,我们可以:

1。。使用“ Compose”操作手动生成对象(可以将所有属性和数组手动放置在所需的位置,也可以使用@array()操作。

2。。调用Azure函数或一些可以更具体地制作有效JSON的外部代码。

我也尝试以其他方式测试它,例如使用json:Array="true"和使用<?xml-multiple?>,但是它们在逻辑应用程序中均失败。因此,我认为可以使用上面提到的仅有的两种解决方案。但这两种方法都不是好方法。