JOLT 从扁平结构到嵌套结构

时间:2021-05-10 13:17:59

标签: json jolt

我正在尝试使用 Jolt 转换此 json。

这里的关键是一个“站点”在一个数组中有很多米,而一个“米”在一个数组中有很多数据。我在这里清理了它以显示每个数组更少的对象,但想法是可以有很多。

输入

[ {
  "client_name" : "test1",
  "site_name" : "site1",
  "site_id": 123,
  "meter_name" : "meter1",
  "meter_id" : 729,
  "tstamp" : "2020-06-01 18:00:00.0",
  "impwh" : "1770480207.200",
  "expwh" : "0.000",
  "q1varh" : "507916678.508",
  "q2varh" : "0.000",
  "q3varh" : "0.000",
  "q4varh" : "481788.863"
}, {
  "client_name" : "test1",
  "site_name" : "site1",
  "site_id": 123,
  "meter_name" : "meter2",
  "meter_id" : 992,
  "tstamp" : "2020-06-01 18:00:00.0",
  "impwh" : "1770497522.080",
  "expwh" : "0.000",
  "q1varh" : "507916678.508",
  "q2varh" : "0.000",
  "q3varh" : "0.000",
  "q4varh" : "481788.863"
}, {
  "client_name" : "test1",
  "site_name" : "site2",
  "site_id": 456,
  "meter_name" : "meter3",
  "meter_id" : 543,
  "tstamp" : "2020-06-01 18:00:00.0",
  "impwh" : "1770516293.280",
  "expwh" : "0.000",
  "q1varh" : "507916678.508",
  "q2varh" : "0.000",
  "q3varh" : "0.000",
  "q4varh" : "481788.863"
}, {
  "client_name" : "test1",
  "site_name" : "site2",
  "site_id": 456,
  "meter_name" : "meter4",
  "meter_id" : 534,
  "tstamp" : "2020-06-01 19:00:00.0",
  "impwh" : "1770533800.160",
  "expwh" : "0.000",
  "q1varh" : "507916678.508",
  "q2varh" : "0.000",
  "q3varh" : "0.000",
  "q4varh" : "481788.863"
} ]

输出

{
  "data": [
    {
        "site_id": 123,
        "site_name": "site1",
        "meters": [
            {
                "meter_id": 729,
                "meter_name" : "meter1",
                "meter_data": [
                    {
                        "tstamp" : "2020-06-01 18:00:00.0",
                        "impwh" : "1770480207.200",
                        "expwh" : "0.000",
                        "q1varh" : "507916678.508",
                        "q2varh" : "0.000",
                        "q3varh" : "0.000",
                        "q4varh" : "481788.863"
                    }
                ]
            },{
                "meter_id": 992,
                "meter_name" : "meter2",
                "meter_data": [
                    {
                        "tstamp" : "2020-06-01 18:00:00.0",
                        "impwh" : "1770497522.080",
                        "expwh" : "0.000",
                        "q1varh" : "507916678.508",
                        "q2varh" : "0.000",
                        "q3varh" : "0.000",
                        "q4varh" : "481788.863"
                    }
                ]
            }
        ]
    },{
        "site_id": 456,
        "site_name": "site2",
        "meters": [
            {
                "internal_meter_id": 456,
                "meter_name": "meter3",
                "meter_data": [
                    {
                        "tstamp" : "2020-06-01 18:00:00.0",
                        "impwh" : "1770516293.280",
                        "expwh" : "0.000",
                        "q1varh" : "507916678.508",
                        "q2varh" : "0.000",
                        "q3varh" : "0.000",
                        "q4varh" : "481788.863"
                    },{
                        "tstamp" : "2020-06-01 19:00:00.0",
                        "impwh" : "1770533800.160",
                        "expwh" : "0.000",
                        "q1varh" : "507916678.508",
                        "q2varh" : "0.000",
                        "q3varh" : "0.000",
                        "q4varh" : "481788.863"
                    }
                ]
            }
        ]
    }
    ]
}

谢谢。

如果可能的话,我也在努力学习这一点,所以任何关于你思考过程的提示都会在未来对我有所帮助。

0 个答案:

没有答案