Logic Apps: фильтрация специальных символов из массива

допустим, у вас есть массив с именем ips:

[
  "[\"185.241.208.232",
  "194.26.192.64",
  "171.25.193.25",
  "\"]"
]

как мне отфильтровать [" и "] из массива.

массив, попадающий в список наблюдения, должен выглядеть так:

[
  "185.241.208.232",
  "194.26.192.64",
  "171.25.193.25"
]

мне нужно сделать это без использования цикла for для просмотра каждого элемента \ (поскольку фактический список очень длинный, и это заставит приложение логики работать в течение некоторого времени). Я случайно знаю, что \ существует в начале и конце списка.

Можете ли вы четко изложить свой вопрос с помощью изображений?

RithwikBojja 18.03.2024 05:36

как мне отфильтровать [" и "] из массива. что подразумевается под этим @HarriS?

RithwikBojja 18.03.2024 05:39

я добавил скриншот, чтобы показать свой вариант использования. где я хочу создать список наблюдения, но мне мешает \ в массиве. я также включил пример моего идеального результата. (в моем реальном случае я получил этот массив из HTTP-запроса.

HarriS 18.03.2024 05:47

ок, понял, дал ответ ниже.

RithwikBojja 18.03.2024 06:13

Есть ли способ сделать это без цикла for. если в этом списке IP-адресов будет 10 тыс. IP-адресов, это будет очень медленно.

HarriS 18.03.2024 07:10

AFAIK, без использования цикла, только это возможно

RithwikBojja 18.03.2024 07:13

Знаете ли вы, как разрезать массив с помощью выражений? как и в python mylist=[1,2,3] , mylist[1:] выведет [2,3]. эквивалент этого, но с выражениями? я подумал, что будет использоваться что-то вроде len(), а затем одна из индексных функций. достичь [1:-1]

HarriS 18.03.2024 07:19

Нет, @HarriS, но я тоже проверю это

RithwikBojja 18.03.2024 07:22

@HarriS Я добавил решение, не требующее цикла.

10p 20.03.2024 00:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
9
107
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать ниже design, чтобы получить ожидаемые результаты:

Затем:

replace(replace(items('for_each'),'["',''),'"]','')

Затем:

empty(item())

Output:

CodeView:

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Filter_array": {
                "inputs": {
                    "from": "@variables('var2')",
                    "where": "@equals(empty(item()), false)"
                },
                "runAfter": {
                    "For_each": [
                        "Succeeded"
                    ]
                },
                "type": "Query"
            },
            "For_each": {
                "actions": {
                    "Append_to_array_variable": {
                        "inputs": {
                            "name": "var2",
                            "value": "@outputs('Compose')"
                        },
                        "runAfter": {
                            "Compose": [
                                "Succeeded"
                            ]
                        },
                        "type": "AppendToArrayVariable"
                    },
                    "Compose": {
                        "inputs": "@replace(replace(items('for_each'),'[\"',''),'\"]','')",
                        "runAfter": {},
                        "type": "Compose"
                    }
                },
                "foreach": "@variables('var')",
                "runAfter": {
                    "Initialize_variable_2": [
                        "Succeeded"
                    ]
                },
                "type": "Foreach"
            },
            "Initialize_variable": {
                "inputs": {
                    "variables": [
                        {
                            "name": "var",
                            "type": "array",
                            "value": [
                                "[\"185.241.208.232",
                                "194.26.192.64",
                                "171.25.193.25",
                                "\"]"
                            ]
                        }
                    ]
                },
                "runAfter": {},
                "type": "InitializeVariable"
            },
            "Initialize_variable_2": {
                "inputs": {
                    "variables": [
                        {
                            "name": "var2",
                            "type": "array"
                        }
                    ]
                },
                "runAfter": {
                    "Initialize_variable": [
                        "Succeeded"
                    ]
                },
                "type": "InitializeVariable"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
            "manual": {
                "inputs": {
                    "schema": {}
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "parameters": {}
}
Ответ принят как подходящий

Для достижения желаемого результата не нужно использовать На каждую петель - это очень неэффективно.

Вам нужно использовать всего 2 действия:

  1. Выберите - чтобы удалить ненужные символы из каждого элемента вашего массива:

Просмотр кода:

{
    "inputs": {
        "from": [
            "[\"185.241.208.232",
            "194.26.192.64",
            "171.25.193.25",
            "\"]"
        ],
        "select": "@replace(replace(replace(item(), '[', ''), ']', ''), '\"', '')"
    }
}
  1. Фильтровать массив - чтобы удалить пустые элементы из массива:

Просмотр кода:

{
    "inputs": {
        "from": "@body('Select')",
        "where": "@greater(length(item()), 0)"
    }
}

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

Функция xpath приложения логики возвращает результат в закодированном формате
Ссылка на шаблон json на объектную переменную;
Свойства JSON в массив (все ли задания выполнены)
Приложение логики не может получить доступ к хранилищу BLOB-объектов, получая 403
Третья сторона вызывает наш API, который запускает приложение логики. Как мы можем обрабатывать нумерацию страниц файла JSON, созданного хранимой процедурой SQL в приложении логики?
Доступ к частному веб-сайту с помощью самозаверяющего сертификата в стандартном приложении логики в Azure (размещенном в WS1 ASP)
Azure Logic Apps: как получать уведомления в случае разрыва или сбоя соединения действия приложения логики
Проблема с циклическим выполнением запроса SQL Server в приложении Azure Logic
Невозможно получить токен аутентификации AAD в Logic Apps
Невозможно прочитать дату и время из листа Excel с помощью Azure Logic Apps

Похожие вопросы

Как проверить, какие учетные записи хранения связаны с приложениями логики Azure
Обработка ответов API об успехах и ошибках в рабочем процессе Logic Apps
Logic Apps: выполнение запроса и визуализация результатов. Html-таблица, отображаемая в электронной почте
Сценарий powershell — заменить массив json (экранировать $var, чтобы он воспринимался как текст без двойных кавычек)
Избавление от «тела» из содержимого массива при добавлении его к полезной нагрузке запроса API JSON в Logic Apps
Приложение логики, отправка почты с вложением с использованием графического API и управляемого удостоверения
Копирование файлов — данных SharePoint в Azure Blob с помощью Logic Apps
Проблемы с передачей логических значений в шаблоне JSON фабрики данных Azure
Копирование данных — сайты SharePoint в Azure Blob с помощью Logic Apps
Обновить объект таблицы с помощью переменной, не являющейся явным JSON