将嵌套数组转换为顶级数组JOLT

时间:2018-03-06 13:55:13

标签: json jolt

是否可以转换输入JSON

{
    "root": {   
        "lang" : "fr-FR",
        "ttp" : "ttp1",
        "net" : "wifi",
        "gps" : [
            {"gpslon" : "1", "gpslat" : "4"},
            {"gpslon" : "2", "gpslat" : "5"},
            {"gpslon" : "3", "gpslat" : "6"}
        ]
    }
}

使用JOLT转换到另一个JSON文件?

{
  [
    {
     "lang" : "fr-FR",
     "ttp" : "ttp1",
     "net" : "wifi",
     "gpslon" : "1", 
     "gpslat" : "4"
    },
    {
     "lang" : "fr-FR",
     "ttp" : "ttp1",
     "net" : "wifi",
     "gpslon" : "2", 
     "gpslat" : "5"
    },
    {
     "lang" : "fr-FR",
     "ttp" : "ttp1",
     "net" : "wifi",
     "gpslon" : "3", 
     "gpslat" : "6"
    }
  ]
}

换句话说,我想将“标题”数据(lang,ttp,net)复制到每个数组项gps。

1 个答案:

答案 0 :(得分:2)

好的,我找到了解决方案,可能效率不高

[
  {
    "operation": "shift",
    "spec": {
      "root": {
        "gps": {
          "*": {
            "@": "[&1]",
            "@(2,lang)": "[&1].lang",
            "@(2,ttp)": "[&1].ttp",
            "@(2,net)": "[&1].net"
          }
        }
      }
    }
  }
]