我必须将一些代码从dataweave 1转换到dataweave 2,但是我不确定如何转换这段代码。我在网上找到的答案令人困惑
我不确定这两个映射的语法是否正确,也不确定过滤和映射的语法是否正确。我知道您必须将flowVars转换为vars
flowVars.referenceDataResponse.resultSets filter $.schemaSequenceNumber == "TRESIDENCE_TYPE" map (resultSets,indexOfResultSets) -> {
(resultSets.resultSet map (resultSet,indexOfResultSet) -> {
residenceType:resultSet[indexOfResultSet].data
} )
}发布于 2019-07-25 09:32:13
你真的应该给出更多的上下文,比如输入,预期输出和脚本的指令,但这是一个直译,输出设置为application/java,因为缺少其他内容:
%dw 2.0
output application/java
---
vars.referenceDataResponse.resultSets filter $.schemaSequenceNumber == "TRESIDENCE_TYPE" map (resultSets, indexOfResultSets) -> {
(resultSets.resultSet map (resultSet, indexOfResultSet) -> {
residenceType: resultSet[indexOfResultSet].data
})
}在没有测试数据的情况下,无法知道它是否适用于您。
发布于 2019-08-02 19:01:44
Alejandro,我已经发布了样本数据,可能有助于测试您建议的转换解决方案,并且我假设resultSet是一个具有两个属性的对象。您可以改进数据以满足您建议的解决方案
%dw 2.0
output application/json
var arr =
referenceDataResponse: {
resultSets :
[
{
id: 1,
schemaSequenceNumber :"TRESIDENCE_TYPE",
resultSet: [{residenceType: "one"},{residenceType: "two"},{residenceType: "three"}]
},
{
id: 2,
schemaSequenceNumber :"TRESIDENCE_TYPE2",
resultSet:[{residenceType: "one"},{residenceType: "two"},{residenceType: "three"}]
},
{
id: 3,
schemaSequenceNumber :"TRESIDENCE_TYPE3",
resultSet:[{residenceType: "one"},{residenceType: "two"},{residenceType: "three"}]
}
]
}
---
arr.referenceDataResponse.resultSets filter $.schemaSequenceNumber == "TRESIDENCE_TYPE" map (resultSets, indexOfResultSets) -> {
(resultSets.resultSet map (resultSet, indexOfResultSet) -> {
residenceType: resultSet.residenceType
})
}https://stackoverflow.com/questions/57172939
复制相似问题