BizTalk 2020 JSON 编码器生成对象的根数组,即以 [ ]

问题描述

关于 BizTalk JSON 编码器的文章很多...

我正在尝试为需要根级数组的 3rd 方软件生成 JSON,如下所示:

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

我正在尝试使用模式控制输出,但我无法在根节点上指定 minOccurs 和 maxOccurs。我也试过“Group Max/Min Occurs”,没有区别。

这是不可能的吗? 将 Array 属性添加输出 XML 的旧 newtonsoft hack 怎么样? (我也试过这个,但失败了......)

解决方法

这类似于BizTalk 2013 - decode JSON array

根据另一个问题的答案,您不能在 XML 模式的根节点上有一个数组。那个是用于接收带有根数组的 JSON 有效负载,而不是发送一个。但是您的选择是相似的,您需要在删除根的 JSON 编码器之后使用自定义管道组件,或者使用以您想要的方式生成 JSON 的自定义管道组件。