Обработка коллекции, полученной из ответа web-сервиса
Кто может подсказать варианты работы?
Допустим имеем ответ от вэб сервиса:
"data": [
{"id":1,
"name":"John"
},
{"id":2,
"name":"Johny"
},
{"id":3,
"name":"John2"
},
{"id":4,
"name":"John5"
},
]Какие есть варианты последовательной обработки каждого элемента коллекции в бизнесс процессе?
Т.е. как взять первый элемент, сделать все необходимые действия. Взять второй элемент... и т.д. ?
Желательно на примерах, а не теорию.
Заранее спасибо.
P.S.
Сейчас использую метод из этой темы https://community.terrasoft.ua/articles/perebor-kollekcii-elementa-bp-c…
но есть некоторые особенности работы.
Нравится
Добрый день!
Варианты обработки коллекции описаны в статье:
https://academy.terrasoft.ua/docs/user/biznes_processy/nastrojka_proces…
В вашем же случае лучшим выбором будет передача данных коллекции в под-процесс, который будет обрабатывать по одной переданной записи за свою итерацию.
Спасибо!
Oleg,
Все зависит от доступных вам инструментов и подходов в разработке.
Например, можно сделать это в ScriptTask, не объявляя тип для десериализации, а используя анонимный:
var def = new { data = new[] { new { id = 0, name = "" } } };
string json = "{\"data\": [{\"id\":1,\"name\":\"John\"},{\"id\":2,\"name\":\"Johny\"},{\"id\":3,\"name\":\"John2\"},{\"id\":4,\"name\":\"John5\"}]}";
var result = JsonConvert.DeserializeAnonymousType(json, def);
foreach (var item in result.data) {
Console.WriteLine($"{item.id}_{item.name}");
}