Массив преобразования Джолта - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть JSON для ввода:

{
  "id": 1031435,
  "event_id": "Formula_257",
  "formula_id": 257,
  "ts_start": 1583164200084000,
  "ts_end": 1583164484960000,
  "type": "formula",
  "details": {
    "6aa0734f-6d6a-4b95-8a2b-2dde346f9df7": {
      "PowerActiveTriPhase": 183836912
    }
  },
  "ack_ts": null,
  "ack_user": null
}

и мне нужно получить такой вывод:

{
  "id": 1031435,
  "event_id": "Formula_257",
  "formula_id": 257,
  "ts_start": 1583164200084000,
  "ts_end": 1583164484960000,
  "type": "formula",
  "equipment_id":"6aa0734f-6d6a-4b95-8a2b-2dde346f9df7",
  "parameter":"PowerActiveTriPhase",
  "value":183836912,
  "ack_ts": null,
  "ack_user": null
}

Какой тип c мне нужно использовать?

Большое спасибо!

1 Ответ

0 голосов
/ 25 апреля 2020

Это должно работать

[
  {
    "operation": "shift",
    "spec": {
      "id": "id",
      "event_id": "event_id",
      "formula_id": "formula_id",
      "ts_start": "ts_start",
      "ts_end": "ts_end",
      "type": "type",
      "details": {
        "*": {
          "$": "equipment_id",
          "*": {
            "$": "parameter",
            "@": "value"
          }
        }
      },
      "ack_ts": "ack_ts",
      "ack_user": "ack_user"
    }
  }
]
...