在talend中使用带有嵌套对象的tRestClient发送Json请求

时间:2015-06-12 12:41:07

标签: json talend

Thanxx提前为您提供帮助:) 我试图使用tRestClient发送请求与json在我的webservice中添加产品,其中包含属性库存的json数组 例如:

{
"handle": "iPad2",
"inventory": [
    {
        "outlet_name": "one",
        "count": "100"
    },
    {
        "outlet_name": "two",
        "count": "200"
    }
]
 }

我有单行数据,其中一个句柄可以有多个插座和计数 所以我创造了这样的工作

这里tIdempiereInput是我的自定义组件,其行为类似于tPostgresInput tIdempiereInput - > tXmlMap - > tRestClient

 component i have used tRestClient to

Map handle ,outlet and count using tXmlMap sot it will convert my row date in document which will be used by tRestClient outlet

我的工作正常但我的问题是,它发送每个句柄的请求而不将它们分组在这样的单个对象中 要求1)

{
"handle": "iPad2",
"inventory": [
    {
        "outlet_name": "one",
        "count": "100"
    }
]
}  

请求2)

{
"handle": "iPad2",
"inventory": [
    {
        "outlet_name": "two",
        "count": "200"
    }
  ]
 }

因此它会对每个记录进行不同的请求,而不是将插座分组并使用句柄进行计数并对其进行单一请求!!

我知道tAdvancedFileOutputXML使用它我们可以使用分组元素和循环生成带有嵌套sturcuture的XML但是不知道如何用tXmlMap和tRESTClient做同样的事情..

1 个答案:

答案 0 :(得分:0)

你有没有看到选项" All in One"在tXMLMap输出? 当您处于地图模式时,单击输出的扳手图标并确保" All in One"设置为true - 这似乎可以将所有循环元素放入一个输出行。