0

我正在尝试在逻辑应用程序中使用 Liquid 地图对传入的 JSON 进行排序。我传入的 JSON 如下:

{
 "content":
  [ 
    {
        "Identifier":"1",
        "Name":"B"
    },
    {
        "Identifier":"2",
        "Name":"A"
    }
  ]
 }

我的液体地图如下:

{
    {% assign sortedProfiles = content | sort: "Name" %}

    "Users":[
        {% for profile in sortedProfiles %}
        {
            "Identifier":"{{ profile.Identifier }}",
            "Name":"{{ profile.Name }}"
        },
        {% endfor %}]
}

不幸的是,数组从不按名称排序。我尝试使用大写的排序,我也尝试对 for 进行排序,但这些都不起作用。我不确定今天逻辑应用程序的 Liquid 地图中是否支持所有过滤器,也许不支持排序?

谢谢。

4

1 回答 1

0

过滤器排序有效。如果你使用下一个 Liquid 贴图:

{
{% assign my_array = "zebra, octopus, giraffe, Sally Snake" | Split: ", " %}

{% assign sort_my_array = (my_array | Sort ) %}

"Animals": [
    {% for animal in sort_my_array %}
    {
        "Name": "{{animal}}"
    },
    {% endfor %}
]       }

它返回:

{    
"Animals": [
    {
        "Name": "giraffe"
    },
    {
        "Name": "octopus"
    },
    {
        "Name": "Sally Snake"
    },
    {
        "Name": "zebra"
    }
]}

这个问题似乎不适用于按属性排列的数组。

于 2017-12-13T16:13:45.790 回答