Генерация схемы Json
Я пытаюсь настроить поток Microsoft. Короче говоря, мне нужно взять данные Json, полученные с устройства, и проанализировать их, чтобы я мог сослаться на них в потоках ниже. Чтобы разобрать, мне нужно предоставить схему Джейсона Потоку. В Microsoft Flow есть возможность генерировать схему Json из образца полезной нагрузки (результаты, возвращаемые вызовом API), но она генерируется неправильно. Я надеюсь, что кто-то может мне помочь. Мне нужна правильная схема Джейсона.
Данные, возвращаемые из API:
[
null,
[
{
"user_id": 2003,
"user_label": "Test1"
},
{
"user_id": 2004,
"user_label": "Test2"
}
]
]
Схема, сгенерированная в потоке из приведенного выше примера полезной нагрузки:
{
"type": "array",
"items": {}
}
Затем я попытался сгенерировать схему только из данных. Казалось, что это работает, но при запуске потока я получаю ошибку проверки Json.
Пробовал генерировать только из таких данных:
{
"user_id": 2003,
"user_label": "Test1"
}
Это сгенерировало такую схему:
{
"type": "object",
"properties": {
"user_id": {
"type": "number"
},
"user_label": {
"type": "string"
}
}
}
0 ответов
Итак, у вас есть 2 вещи: массив вложенных объектов и нуль.
Вам понадобится еще один синтаксический анализ JSON после первого синтаксического анализа JSON. И вы захотите отфильтровать ноль перед вторым анализом JSON.
Мне потребовалось время, чтобы понять, но я надеюсь, что это поможет.
Начните с добавления шага Parse JSON к любому шагу, на котором выводится JSON.
Теперь отфильтруйте массив, убедитесь, что вы используете "Выражение" при сравнении с null
.
Добавьте второй синтаксический анализ JSON, вы заметите, что у вас не будет возможности выбрать выходной "элемент" шага массива фильтра, поэтому выберите "Анализировать JSON" - элемент на данный момент (мы изменим это, чтобы использовать выходные данные шага Filter JSON за мгновение)
Шаг должен автоматически измениться на "Применить к каждому". В Parse JSON 2 сгенерируйте схему с
[
{
"user_id": 2003,
"user_label": "Test1"
},
{
"user_id": 2004,
"user_label": "Test2"
}
]
Затем измените поле "Выбрать результат из предыдущих шагов" и измените его (из тела шага анализа JSON) на тело шага массива фильтров.
Наконец, добавьте действие после Parse JSON 2 и выберите одно из полей в Parse JSON 2, это автоматически изменит этот шаг на вложенный Apply для каждого