当前位置: 首页 > 知识库问答 >
问题:

Json阵列变换与Jolt

骆利
2023-03-14

我正在尝试使用 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数组。

共有1个答案

詹甫
2023-03-14

像这样的东西应该做你想做的:

[
  {
    "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": ""
      }
    }
  }
]

从这里获得的< code >垃圾技巧

 类似资料:
  • 我目前有点卡住了,我需要使用JOLT转换JSON,但就我而言,我无法获得与我一起工作的数据/结构。 我有以下需要转换的数据集: 预期的结果应该是这样的: 我可能在我想要的结果中犯了一个错误,但基本上,“riskItemAllRisk”部分需要在一个数组中。 我正在进行的JOLT转换是: 为可怕的代码道歉,但这对我来说是第一次。 谢谢。

  • 我有这个JSON作为输入: 我需要得到这样的输出: 我需要使用哪种规格? 多谢!

  • 变换矩阵 之前三节所说的坐标变换的三种方式——平移translate(),缩放scale(),以及旋转rotate()都可以通过transform()做到。 在介绍矩阵变换transform()前,我们来说一说什么是变换矩阵。 以上是Canvas中transform()方法所对应的变换矩阵。而此方法正是传入图中所示的六个参数,具体为context.transform(a,b,c,d,e,f)。 各

  • 我正在尝试使用Jolt进行从顶级json数组到另一个数组的复杂转换。在每个项目中,我都有几个需要映射到另一个的对象。当它是简单的字符串时,我可以很容易地映射它们,但当它是关于对象到对象的时,我无法找到如何进行映射。在下面的示例中,我想从客户对象中提取数据。我想为其他几个人做这件事,比如地址和order_items这是我的输入: 这是规格文件 目前,我的输出是 我希望这样: 有人知道怎么做吗? 更新

  • 我有这个功能: GetAccounts是一个对象数组 问题是,我的一个同事告诉我,我正在用这行字修改数组: 但我真的不明白为什么这被认为是突变?我确信我创建了原始数组的副本并对其进行了修改。 有什么建议如何解决这个问题,请?

  • Three.js使用matrix编码3D变换 —— 平移(位置),旋转和缩放。 Object3D的每个实例都有一个matrix,用于存储该对象的位置,旋转和比例。本页介绍如何更新对象的变换。 便利的属性和matrixAutoUpdate(Convenience properties and matrixAutoUpdate) 有两种方法可以更新对象的转换: 修改对象的position,quater