#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 / является