如何按属性名称排序?
How to order by attribute name?
需要一些帮助来对数组元素内的属性进行排序。
所以我有这样的有效载荷:
person=[
{
"Phone" : "1234",
"Name" : "John",
"Address": "ABC"
},
{
"Phone" : "5678",
"Name" : "Mary",
"Address": "DEF"
},
]
我希望得到这样的结果:
person=[
{
"Address": "ABC",
"Name" : "John",
"Phone" : "1234"
},
{
"Address": "DEF",
"Name" : "Mary",
"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"
}
]
}
需要一些帮助来对数组元素内的属性进行排序。 所以我有这样的有效载荷:
person=[
{
"Phone" : "1234",
"Name" : "John",
"Address": "ABC"
},
{
"Phone" : "5678",
"Name" : "Mary",
"Address": "DEF"
},
]
我希望得到这样的结果:
person=[
{
"Address": "ABC",
"Name" : "John",
"Phone" : "1234"
},
{
"Address": "DEF",
"Name" : "Mary",
"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"
}
]
}