Кодировщик BizTalk 2020 JSON для создания корневого массива объектов, т.е. начинается с []

Есть много статей о кодировщике BizTalk JSON ...

Я пытаюсь создать JSON для стороннего программного обеспечения, которому нужен массив корневого уровня, например:

[
   { 
     "property" : "value"
   },
   {
     "property" : "value" 
   }
]

Я пытаюсь управлять выводом с помощью схемы, но не могу указать minOccurs и maxOccurs на корневом узле. Я также пробовал Group Max / Min Occurs, без разницы.

Неужели это невозможно? Как насчет старого хака newtonsoft для добавления атрибута Array в выходной XML? (Я тоже пробовал это, но не смог ...)


person JERKER    schedule 18.03.2021    source источник


Ответы (1)


Это похоже на BizTalk 2013 - декодирование массива JSON

Согласно ответам на другой вопрос, у вас не может быть массива в корневом узле схемы XML. Он предназначен для получения полезной нагрузки JSON с массивом в корне, а не для его отправки. Но ваши варианты схожи: вам понадобится либо настраиваемый компонент конвейера после кодировщика JSON, который удаляет корень, либо настраиваемый компонент конвейера, который создает JSON так, как вы хотите.

person Dijkgraaf    schedule 18.03.2021
comment
Да, пользовательский компонент конвейера пост-JSON кодирует ... Вы знаете, используется ли newtonsoft по-прежнему в BizTalk 2020? Решение атрибута Array все равно не работает ... - person JERKER; 19.03.2021
comment
@JERKER Да, Newtonsoft.Json версии 12.0.3 с CU1 - person Dijkgraaf; 19.03.2021