Я хочу получить файлы xml из API (я не могу получить форматы Json из этого API). После этого я хочу преобразовать их в JSON, а затем сохранить в oneDrive с помощью приложения логики. (Я намерен создать таблицы из этих файлов json на сервере Azure SQL)
До сих пор мой подход запускал приложение логики с ответом HTTP GET.
преобразовать полученный XML-файл из шага 1 выше в json с помощью json(xml(triggerBody())) и сохранить его в oneDrive.
Логические шаги приложения: 1) ПОЛУЧИТЬ HTTP-ответ от API 2) Сохраните ответ как json на oneDrive, используя функцию json(xml(triggerBody()))
вот копия xml файла из API:
<?xml version="1.0" encoding="ISO-8859-1"?>
-<n1:VareResult xmlns:n1="http://ABCC.Schemas.Vare/8.0" xmlns:n7="http://ABCC.Schemas.Common/8.0">
-<n1:Header>
-<n1:EksportType>
<n7:EksportId>0</n7:EksportId>
<n7:Eksportmetode/>
<n7:StartIndex>0</n7:StartIndex>
<n7:BatchSize>2000</n7:BatchSize>
<n7:TotalCount>1</n7:TotalCount>
<n7:VersionNr/>
</n1:EksportType>
-<n1:Result> <n7:ResultValue>Success</n7:ResultValue> </n1:Result>
</n1:Header>
-<n1:VareListe>
-<n1:Vare>
-<n1:Status>
<n7:Created>2004-06-27T15:30:57.549</n7:Created>
<n7:Updated>2019-11-20T09:34:03.008</n7:Updated>
</n1:Status>
<n1:ABCCNr>10203</n1:ABCCNr>
........
........
Вот соответствующий файл json:
{"?xml":{"@version":"1.0","@encoding":"iso-8859-1"},"n1:VareResult":
{"@xmlns:n7":"http://ABCC.Schemas.Common/8.0","@xmlns:n1":"http://ABCC.Schemas.Vare/8.0","n1:Header":
{"n1:EksportType":
{"n7:EksportId":"0","n7:Eksportmetode":null,"n7:StartIndex":"0","n7:BatchSize":"2000","n7:TotalCount":
"1","n7:VersionNr":null},"n1:Result":{"n7:ResultValue":"Success"}},"n1:VareListe":{"n1:Vare":
{"n1:Status":{"n7:Created":"2004-06-27T15:30:57.549","n7:Updated":"2019-11-20T09:34:03.008"},
"n1:ABCCNr":"10203",
........
.......
Как вы видите, файл json также имеет префиксы пространства имен. Я пытаюсь перейти по пути на сервере sql. Вот пример: На изображении ниже показан результат выполнения команды: select * FROM OPENJSON(@jsonObject)
Я хочу получить доступ к значениям ключа n1:VareResult.
Я пытался перейти по пути следующим образом: select * FROM OPENJSON (@jsonObject,'$.n1:VareResult' )
Но получаю сообщение об ошибке: "Путь JSON имеет неправильный формат. Неожиданный символ ':' найден в позиции 4."
Есть ли escape-последовательность, которая позволяет мне перемещаться по пути, даже если он содержит эти «запрещенные символы»? Если нет, есть ли способ контролировать преобразование из xml в json на шаге 2 выше, чтобы префиксы пространства имен были опущены для каждого элемента?