我无法在DataWeave文档中看到它是否保留了属性的顺序。例如,在此代码之后:
%dw 1.0
%output application/json
---
{
giftcards : payload map {
"currency" : $.currency,
"giftcardId" : $."_id",
"amount" : $.price
}
}
我们可以期望在响应中获得以下属性序列:
答案 0 :(得分:1)
简短回答是“是”但一般回答是“否”。 即使Mule应该按照DateWeave中的定义生成JSON,但这并不意味着其他转换不会破坏此顺序。简单地转换为Map和back将根据特定的Map实现更改它。它可以是Hashtable或有序集合来保持键/值对,因此顺序将自然被打破。
底线 - 因为您不知道数据将具有哪些转换 - 不要依赖原始订单或某些中间阶段订单。始终自己控制它。例如 - 从集合中提取时按字母顺序排序键。
答案 1 :(得分:0)
它将保留您的数据序列。因为dataweave下的所有声明都在输出指令下。输出指令指定转换中的输出类型,使用内容/类型指定。只能指定一个输出,然后在DataWeave体中定义此输出的结构。