BizTalk 2020 - 将 XML 转换为数组 JSON 有效负载

问题描述 投票:0回答:1

我尝试将以下有效负载 (JSON) 发送到 REST 端点,但是当我在 BizTalk 中使用传统映射来构建 XML 架构,然后在自定义管道中使用 JSON 编码器将其发送出去时,它不会t 在过滤器中包含所需的数组(这是对过滤器记录进行排列的 REST 调用要求,即使其中只有 1 个过滤器记录)

{
  "busObId": "9343f8800bd7ce14f0bf0a402d9d38be1a25069644",
  "filters": [
    {
      "fieldId": "937905400191ae67dd03ab4b79968fcbaa264b1a75",
      "operator": "eq",
      "value": "TIER1WEB02"
    }
  ],
  "includeAllFields": false,
  "includeSchema": false
}

我考虑过使用消息分配来手动编写 XML 结构,但我不知道如何让 JSON 编码器来排列过滤器元素。

任何人都可以建议我如何确保有效负载不会删除过滤器周围的

[]

json xslt biztalk biztalk-2020
1个回答
0
投票

使用通用转换器将 XML 转换为 JSON 通常不会生成您真正想要的确切 JSON。这是因为转换器不知道您想要什么格式,并且 XML 中通常没有足够的信息来做出正确的猜测。

至少有五类解决方案:

(a) 如果幸运的话,您选择的转换器工具可能会提供自定义转换的选项。

(b) 如果一种转换工具不能产生您想要的输出,您可能会找到另一种可以产生的输出。有很多可供选择。但他们都遇到这个问题,所以不太可能。

(c) 您也许能够在转换之前转换 XML,以便该工具执行正确的操作。

(d) 您通常可以在转换后对 JSON 进行转换以适合所需的格式。

(e) 自己编写转换可能是最简单的,例如使用 XSLT 3.0。

如果我这样做,我会转向(e)。但您的项目的正确答案可能会有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.