JOLT-展平一个简单的JSON数组

时间:2018-08-23 10:42:13

标签: json jolt

我想要这个:

{
  "DATA": [
    {
      "SPEED" : "hi",
      "ANGLE" : "180",
      "GRIT" : "2000"
    },
    {
      "SPEED" : "mid",
      "ANGLE" : "180",
      "GRIT" : "2000"
    },
    {
      "SPEED" : "lo",
      "ANGLE" : "180",
      "GRIT" : "2000"
    }
  ]
}

要成为这个:

{
  "SPEED" : "hi",
  "ANGLE" : "180",
  "GRIT" : "2000"
},
{
  "SPEED" : "mid",
  "ANGLE" : "180",
  "GRIT" : "2000"
},
{
  "SPEED" : "lo",
  "ANGLE" : "180",
  "GRIT" : "2000"
}

但是,这个:

[
  {
    "operation": "shift",
    "spec": {
      "DATA": {
        "*": {
          "*": "&"
        }
      }
    }
}
]

我明白了:

{
  "SPEED" : [ "hi", "mid", "lo" ],
  "ANGLE" : [ "180", "180", "180" ],
  "GRIT" : [ "2000", "2000", "2000" ]
}

我对JOLT还是很陌生,由于找不到任何文档,因此向您寻求帮助。 Stackoverflow不允许我发布此问题,因为它主要包含代码,但这在于此问题的本质,即描述我有什么输入,我想要什么以及我已经尝试了什么。

编辑:

@Pratik Jaiswal

感谢您的回答,但看来我可以做到这一点

[
  {
    "operation": "shift",
    "spec": {
      "DATA": {
        "*": {
          "@": ""
        }
      }
    }
}
]

但是,这不会删除外部括号。使用JOLT甚至可能吗?还是我只需要以其他方式摆脱它们?

1 个答案:

答案 0 :(得分:0)

[
  {
"operation": "shift",
"spec": {
  "DATA": {
    "*": {
      "SPEED": "[&1].SPEED",
      "ANGLE": "[&1].ANGLE",
      "GRIT": "[&1].GRIT"
    }
  }
}
}
]

http://jolt-demo.appspot.com/#inception

处测试规格