How to keep square brackets in single array using Logic Apps?

412 views Asked by At

I am parsing an XML document to JSON, and eventhough I have the type array declared in the json schema, if there is just one element in the array it gets transformed into an objet like this.

"ListOfCodes":{"Codes":{{"Code":"111"}}}

but I need this: "ListOfCodes":{"Codes":[{"Code":"111"}]}

I have several arrays in the document and I only get the sqare brackets when there is a multiple array. and adding the properties manually is not an option. Anyone know what can i modify to fix this in the logic app?

1

There are 1 answers

1
Hury Shen On

Unfortunately, there isn't a good solution for us to implement this requirement in logic app. Here is another post which is similar to your problem. To implement the requirement, we can just:

1. Use the "Compose" action to generate the object by hand (manually put all the properties and arrays where they need, potentially using the @array() action.

2. Call an Azure Function or some external code that can more specifically craft a valid JSON.

I also try to test it in some other way, such as use json:Array="true" and use <?xml-multiple?> but they all fail in logic app. So I think the only above two solutions(mentioned in that post) can be used. Neither approach is good, though.