如何按数组 JOLT 中的值进行分组

问题描述 投票:0回答:1

我目前正在尝试在震动中执行一项操作,我认为如果我可以首先按值对数据进行分组,那么这将是最简单的操作。我正在尝试按值

columnIndex

对该列表进行分组

输入:

{
    "temp_sfp":
    [
        {
            "value": 600,
            "valueOperator": "=",
            "uom": "mcg",
            "name": "Vitamin D (as D3 Cholecalciferol)",
            "percentDvOperator": "=",
            "percentDv": "75.0",
            "columnIndex": 1
        },
        {
            "value": 2,
            "valueOperator": "=",
            "uom": null,
            "name": "Bacillus Coagulans",
            "percentDvOperator": "=",
            "percentDv": null,
            "columnIndex": 1
        },
        {
            "value": 300,
            "valueOperator": "=",
            "uom": "mcg",
            "name": "Vitamin D (as D3 Cholecalciferol)",
            "percentDvOperator": "=",
            "percentDv": "50.0",
            "columnIndex": 0
        },
        {
            "value": 1,
            "valueOperator": "=",
            "uom": "mg",
            "name": "Bacillus Coagulans",
            "percentDvOperator": "=",
            "percentDv": null,
            "columnIndex": 0
        }
    ]
}

所需输出:

{
    "sfp_group":
    [
        {
            "1":
            [
                {
                    "value": 600,
                    "valueOperator": "=",
                    "uom": "mcg",
                    "name": "Vitamin D (as D3 Cholecalciferol)",
                    "percentDvOperator": "=",
                    "percentDv": "75.0",
                    "columnIndex": 1
                },
                {
                    "value": 2,
                    "valueOperator": "=",
                    "uom": null,
                    "name": "Bacillus Coagulans",
                    "percentDvOperator": "=",
                    "percentDv": null,
                    "columnIndex": 1
                }
            ]
        },
        {
            "2":
            [
                {
                    "value": 300,
                    "valueOperator": "=",
                    "uom": "mcg",
                    "name": "Vitamin D (as D3 Cholecalciferol)",
                    "percentDvOperator": "=",
                    "percentDv": "50.0",
                    "columnIndex": 0
                },
                {
                    "value": 1,
                    "valueOperator": "=",
                    "uom": "mg",
                    "name": "Bacillus Coagulans",
                    "percentDvOperator": "=",
                    "percentDv": null,
                    "columnIndex": 0
                }
            ]
        }
    ]
}

从之前的帖子中,我尝试过类似的方法来尝试对列索引进行分组

{
    "operation": "shift",
    "spec": {
      "@1": "",
      "temp_sfp": {
        "*": {
          "columnIndex": {
            "*": {
              "*": {
                "@4": "&2"
              }
            }
          }
        }
      }
    }
  }

但我似乎无法真正理解它。

json transformation jolt
1个回答
0
投票

您可以使用以下shift转换规范

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "@": "sfp_group[0].@1,columnIndex"
        }
      }
    }
  }
]
© www.soinside.com 2019 - 2024. All rights reserved.