问题描述
需要一些帮助来对数组元素内的属性进行排序。 所以我有这样的有效载荷:
person=[
{
"Phone" : "1234","Name" : "John","Address": "ABC"
},{
"Phone" : "5678","Name" : "Mary","Address": "DEF"
},]
我希望它是这样的:
person=[
{
"Address": "ABC","Phone" : "1234"
},{
"Address": "DEF","Phone" : "5678"
},]
我是这样尝试的:
%dw 1.0
%output application/json
---
"result": payload[0] orderBy $$
但它没有排序,如果我尝试使用
orderBy $
我遇到错误:如果类型 ::object... ,则无法比较值
解决方法
您需要映射每个元素,然后对每个元素进行排序:
%dw 1.0
%output application/json
---
"result": payload map ($ orderBy $$)
输出:
{
"result": [
{
"Address": "ABC","Name": "John","Phone": "1234"
},{
"Address": "DEF","Name": "Mary","Phone": "5678"
}
]
}