繁体   English   中英

使用 Jolt 进行 Json 数组转换

[英]Json array transformation with Jolt

我正在尝试使用Jolt从 JSON 数组转换为另一个数组。 它由一个没有键的嵌套 JSON 数组组成。

这是我的输入:

[
  [
    "20190207101456",
    1,
    2,
    3
  ],
  [
    "20190207101456",
    4,
    5,
    6
  ]
]

我想得到以下输出:

[
 {
  "timestamp": "20190207101456",
  "value1": 1,
  "value2" : 2,
  "value3" : 3
 },
 {
  "timestamp": "20190207101456",
  "value1": 4,
  "value2" : 5,
  "value3" : 6
 }
]

我能够使用此规范文件为单个嵌套数组元素添加键:

[
  {
    "operation": "shift",
    "spec": {
      "0": "timestamp",
      "1": "value1",
      "2": "value2",
      "3": "value3"
    }
  }
]

但我不知道如何将其应用于外部 JSON 数组。

像这样的事情应该做你想做的:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "0": "[&1].timestamp",
        "1": "[&1].value1",
        "2": "[&1].value2",
        "3": "[&1].value3"
      }
    }
  }
]

在对默认空数组进行评论后,您可以执行以下操作:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "0": "[&1].timestamp",
        "1": "[&1].value1",
        "2": "[&1].value2",
        "3": "[&1].value3"
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "*": {
        "TRASH": "",
        "value_before_timestamp": "static_value"
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "*": {
        "TRASH": ""
      }
    }
  }
]

这里采取的TRASH技巧

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM