Создайте массив из вывода запроса POST в Json Object

Я пытаюсь отправить электронное письмо через приложение Logic. Содержимое должно быть массивом потерянных ресурсов.

Я использую HTTP-запрос для запроса обозревателя графа ресурсов Azure, на выходе у меня есть объект Json. Я хочу преобразовать этот объект Json в массив.

У кого-нибудь есть решение для получения массива из вывода запроса HTTP POST?

3 ответа

Вот как это сработало для меня:

Принимая во внимание предоставленный JSON Вместо того, чтобы иметь тело в качестве данных «Из» в таблице «Создать HTML», которую я использовал, поскольку таблица «Создать HTML» принимает только массив в качестве входных данных, а затем изменяет его при отправке электронной почты.

Вот мое приложение для логики:

Вот электронная почта:

Обновленный ответ

Вот и все приложение логики

Для синтаксического анализа JSON я создаю схему, используя образец полезной нагрузки с тем же JSON, который вы предоставили с образцами значений. т.е.

      {
  "body": {
    "totalRecords": 25,
    "count": 25,
    "data": [
      {
        "id": "SampleId",
        "diskState": "Sample",
        "resourceGroup": "dkfdfjsi",
        "location": "gareg",
        "subscriptionId": "fgser"
      },
      {
        "id": "SampleID2",
        "diskState": "SAmple2",
        "resourceGroup": "dkfdfjsi",
        "location": "gareg",
        "subscriptionId": "fgser"
      }
    ]
  }
}

Поскольку ваше требование состоит в том, чтобы отправлять данные в табличном формате, я использовал тот же соединитель, что и вы, т.е. Create HTML Tableс dataмассив в качестве входных данных для соединителя, поэтому он будет автоматически генерировать таблицу с заголовками в формате, указанном ниже.

Наконец, я использовал выходные данные соединителя таблицы HTML для отправки электронной почты.

Вот представление кода моего логического приложения

      {
   "definition": {
       "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
       "actions": {
           "Create_HTML_table_2": {
               "inputs": {
                   "format": "HTML",
                   "from": "@body('Parse_JSON')?['body']?['data']"
               },
               "runAfter": {
                   "Parse_JSON": [
                       "Succeeded"
                   ]
               },
               "type": "Table"
           },
           "Parse_JSON": {
               "inputs": {
                   "content": "@triggerBody()",
                   "schema": {
                       "properties": {
                           "body": {
                               "properties": {
                                   "count": {
                                       "type": "integer"
                                   },
                                   "data": {
                                       "items": {
                                           "properties": {
                                               "diskState": {
                                                   "type": "string"
                                               },
                                               "id": {
                                                   "type": "string"
                                               },
                                               "location": {
                                                   "type": "string"
                                               },
                                               "resourceGroup": {
                                                   "type": "string"
                                               },
                                               "subscriptionId": {
                                                   "type": "string"
                                               }
                                           },
                                           "required": [
                                               "id",
                                               "diskState",
                                               "resourceGroup",
                                               "location",
                                               "subscriptionId"
                                           ],
                                           "type": "object"
                                       },
                                       "type": "array"
                                   },
                                   "totalRecords": {
                                       "type": "integer"
                                   }
                               },
                               "type": "object"
                           }
                       },
                       "type": "object"
                   }
               },
               "runAfter": {},
               "type": "ParseJson"
           },
           "Send_an_email_(V2)_2": {
               "inputs": {
                   "body": {
                       "Body": "<p><strong>Total Records</strong> :@{body('Parse_JSON')?['body']?['totalRecords']} , &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>Count </strong>: @{body('Parse_JSON')?['body']?['count']}<br>\n-----------------------------------------------------------------------------<br>\n@{body('Create_HTML_table_2')}</p>",
                       "Subject": "Sample Test",
                       "To": "<YOUR REQUIRED EMAIL ID>"
                   },
                   "host": {
                       "connection": {
                           "name": "@parameters('$connections')['office365']['connectionId']"
                       }
                   },
                   "method": "post",
                   "path": "/v2/Mail"
               },
               "runAfter": {
                   "Create_HTML_table_2": [
                       "Succeeded"
                   ]
               },
               "type": "ApiConnection"
           }
       },
       "contentVersion": "1.0.0.0",
       "outputs": {},
       "parameters": {
           "$connections": {
               "defaultValue": {},
               "type": "Object"
           }
       },
       "triggers": {
           "manual": {
               "inputs": {},
               "kind": "Http",
               "type": "Request"
           }
       }
   },
   "parameters": {
       "$connections": {
           "value": {
               "office365": {
                   "connectionId": "/subscriptions/<YOUR SUBSCRIPTION ID>/resourceGroups/<YOUR RESOURCE GROUP>/providers/Microsoft.Web/connections/office365",
                   "connectionName": "office365",
                   "id": "/subscriptions/<YOUR SUBSCRIPTION ID>/providers/Microsoft.Web/locations/northcentralus/managedApis/office365"
               }
           }
       }
   }
}

@SwethaKandikonda-MT

Я использую повторение в качестве триггера. После того, как я использую http-коннектор для запроса графа ресурсов Azure, чтобы получить результат запроса kql. после http у меня есть результат в объекте json. Я использую, как и вы, Parse Json с той же схемой. Я создаю после html-таблицы данные из синтаксического анализа Json, но когда я запускаю приложение loguc, оно выдает ошибку, потому что из html-таблицы считается нулевым

Вы можете использовать определенную схему в действии синтаксического анализа JSON , чтобы он был проанализирован в (массив) объектов, если эта структура известна.

Чтобы ссылаться или получать доступ к свойствам в содержимом нотации объектов JavaScript (JSON), вы можете создать удобные для пользователя поля или токены для этих свойств с помощью действия Анализ JSON . Таким образом, вы можете выбрать эти свойства из списка динамического содержимого при указании входных данных для приложения логики. Для этого действия вы можете либо предоставить схему JSON, либо сгенерировать схему JSON на основе своего образца содержимого или полезных данных JSON.

В статье Выполнение операций с данными в Azure Logic Apps показаны примеры того, чего вы пытаетесь достичь, глядя на снимок экрана.

Другие вопросы по тегам