BizTalk 2013R2中的JSON到XML模式

BizTalk 2013R2中的JSON到XML模式,json,biztalk,biztalk-2013r2,Json,Biztalk,Biztalk 2013r2,正在开发一个BizTalk 2013R2解决方案,该解决方案调用REST API,返回数据,根据地图转换数据,并在另一端输出.csv 有一个我目前无法克服的重大障碍,我想克服 API调用以JSON格式返回摘录。虽然我可以很容易地构建JSON解码接收管道,但JSON提取中的元素是数字的,因此我无法构建适当的模式(下面的元素示例)-这会 名称不能以十六进制值的“X”字符开头 在提取此元素之前,是否有任何方法可以在没有任何主要代码的情况下对其进行处理(例如,该元素是否可以自动附加字母?您必须在管道

正在开发一个BizTalk 2013R2解决方案,该解决方案调用REST API,返回数据,根据地图转换数据,并在另一端输出.csv

有一个我目前无法克服的重大障碍,我想克服

  • API调用以JSON格式返回摘录。虽然我可以很容易地构建JSON解码接收管道,但JSON提取中的元素是数字的,因此我无法构建适当的模式(下面的元素示例)-这会
名称不能以十六进制值的“X”字符开头


在提取此元素之前,是否有任何方法可以在没有任何主要代码的情况下对其进行处理(例如,该元素是否可以自动附加字母?

您必须在管道的解码部分运行另一个管道组件,该组件必须替换消息的第一部分

如果每条消息的数字都发生了变化,而不是在其中添加字母,那么您可能希望将其设置为值,而不是名称

e、 g


谢谢,我越是考虑这个问题,就越意识到API的返回结构不适合我们从中所需要的东西。在BizTalk之外编写此解决方案可能更容易。@mrc85您不能要求API的所有者更改JSON的结构吗?即使对于JSON,这也是一种奇怪的数据获取方式。你会这么想,不是吗?遗憾的是,与供应商合作非常困难。我现在已经把任务交给了我们的应用程序开发团队,不管怎样,他们可以在C#中构建解决方案和端点。干杯
"412345": [
    {
        "LineID": 123456,
        "LineDescription": "This is a description",
        "Year": 2020,
        "Month": 1,
    },
    ...
Code: "412345",
Lines: [{
        "LineID": 123456,
        "LineDescription": "This is a description",
        "Year": 2020,
        "Month": 1,
    },
    ...