Как добавить дополнительные поля в список в JOLT?

#jolt

#jolt

Вопрос:

Я пытаюсь добавить в список несколько дополнительных полей, которых нет во входном json. Я могу добавлять поля, если это объект, но я не могу добавить поля в массив. Пожалуйста, кто-нибудь, помогите мне написать спецификацию.

входной JSON:

 [
  {
    "List": [
      {
        "ITEM_NO": "abcd"
      }
    ]
  }
]
  

написан файл спецификации

Файл спецификации:

 [
  {
    "operation": "shift",
    "spec": {
      "*": {
        "List": {
          "0": {
            "ITEM_NO": "risk[0].one"
          }
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "risk": [
        {
          "two": "efgh",
          "three": "ijkl"
        }
      ]
    }
  }
]
  

Но результат не похож на ожидаемый

ожидаемый результат:

 {
  "risk": [
    {
      "one": "abcd",
      "two": "efgh",
      "three": "ijkl"
    }
  ]
}
  

Как добавить дополнительные поля?

Комментарии:

1. Привет, я ищу ответ на этот вопрос. пожалуйста, помогите мне. заранее спасибо.

Ответ №1:

Спецификация

 [
  {
    "operation": "shift",
    "spec": {
      "*": {
        "List": {
          "0": {
            "ITEM_NO": "risk[0].one"
          }
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "risk[]": {
        "0": {
          "two": "efgh",
          "three": "ijkl"
        }
      }
    }
  }
]
  

Выдает желаемый результат, но не уверен, что вы пытаетесь сделать.

Ответ №2:

Вы можете выяснить это, используя спецификацию преобразования с одним сдвигом, такую как

 [
  {
    "operation": "shift",
    "spec": {
      "*": {
        "List": {
          "*": {
            "*": "r[amp;1].one",
            "#efgh": "r[amp;1].two",
            "#ijkl": "r[amp;1].three"
          }
        }
      }
    }
  }
]
  

где вы можете жестко запрограммировать нужные строки для размещения в качестве значения в выходных данных с помощью "#" подстановочного знака и "*" для представления всех атрибутов (в данном случае единственным атрибутом является атрибут с именем ключа "one" ).

демонстрация на сайте http://jolt-demo.appspot.com / является

введите описание изображения здесь