Добавить поле по умолчанию для преобразования Jolt JSON - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь сделать JSON-преобразование, используя JOLT, и я думаю, что я близок, но я не могу добавить новое поле к каждому, которое в данный момент не отображается.

Я прочитал довольно много уроков, и этот код ниже - то, что я ожидал бы сработать.Однако, это, кажется, не добавляет в новое поле «Имя».

{
  "totalElements": 168,
  "columns": {
    "dimension": {
      "id": "variables/daterangehour",
      "type": "time"
    },
    "columnIds": [
      "1"
    ]
  },
  "rows": [
    {
      "itemId": "119050300",
      "value": "00:00 2019-06-03",
      "data": [
        120
      ]
    },
    {
      "itemId": "119050805",
      "value": "05:00 2019-06-08",
      "data": [
        98
      ]
    },
    {
      "itemId": "119050923",
      "value": "23:00 2019-06-09",
      "data": [
        172
      ]
    }
  ]
}

Это мой удар:

[
  {
    "operation": "default",
    "spec": {
      "name": "chart1"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "rows": {
        "*": {
          "value": "[&1].date",
          "data": {
            "*": "[&2].data"
          }
        }
      }
    }
  }
 ]

Это был вывод:

[ {
  "date" : "00:00 2019-06-03",
  "data" : 120
}, {
  "date" : "05:00 2019-06-08",
  "data" : 98
}, {
  "date" : "23:00 2019-06-09",
  "data" : 172
} ]

Я хотел, чтобы это было так, хотя:

[ {
  "name" : "graph1",
  "date" : "00:00 2019-06-03",
  "data" : 120
}, {
  "name" : "graph1",
  "date" : "05:00 2019-06-08",
  "data" : 98
}, {
  "name" : "graph1",
  "date" : "23:00 2019-06-09",
  "data" : 172
} ]

Может кто-нибудь сказать мне, где я иду не так?Очевидно, по умолчанию используется для добавления нового элемента, но, похоже, он ничего не делает.

1 Ответ

1 голос
/ 11 июля 2019

Вы должны поставить что-то вроде этого: "#chart1": "[&1].name" Хэш устанавливает значение в коде, и тогда вам не нужно использовать операцию по умолчанию. Или, если вы хотите использовать операцию по умолчанию:

[
  {
    "operation": "shift",
    "spec": {
      "rows": {
        "*": {
          "value": "[&1].date",
          "data": {
            "*": "[&2].data"
          }
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "*": {
        "name": "chart1"
      }
    }
  }
]
...