#arrays #azure-logic-apps #xml-to-json
#массивы #azure-logic-apps #xml-to-json
Вопрос:
Я анализирую XML-документ в формате JSON, и, хотя у меня есть тип array, объявленный в схеме json, если в массиве есть только один элемент, он преобразуется в объект, подобный этому.
«ListOfCodes»:{«Codes»:{{«Code»:»111″}}}
но мне нужно это: «ListOfCodes»:{«Codes»:[{«Code»:»111″}]}
У меня есть несколько массивов в документе, и я получаю квадратные скобки только при наличии нескольких массивов. и добавление свойств вручную — это не вариант. Кто-нибудь знает, что я могу изменить, чтобы исправить это в приложении logic?
Комментарии:
1. Не могли бы вы предоставить образец вашего xml? Я протестирую его, чтобы найти, есть ли решение.
2. Добавлен пример XML. Спасибо
Ответ №1:
К сожалению, у нас нет хорошего решения для реализации этого требования в приложении logic. Вот еще один пост, который похож на вашу проблему. Для реализации требования мы можем просто:
1. Используйте действие «Создать», чтобы сгенерировать объект вручную (вручную поместите все свойства и массивы туда, где они нужны, возможно, с помощью действия @array().
2. Вызовите функцию Azure или какой-либо внешний код, который может более конкретно создать допустимый JSON.
Я также пытаюсь протестировать это каким-либо другим способом, таким как use json:Array="true"
и use <?xml-multiple?>
, но все они терпят неудачу в приложении logic. Поэтому я думаю, что можно использовать только два вышеуказанных решения (упомянутых в этом сообщении). Однако ни один из подходов не подходит.
Комментарии:
1. Спасибо, я решил проблему, преобразовав XML с помощью файла XSLT и преобразовав XML в текст для желаемого вывода json.