Json Jolt-将值从一个数组复制到另一个数组并更改键

Json Jolt-将值从一个数组复制到另一个数组并更改键,json,jolt,Json,Jolt,我对Jolt图书馆有问题。我尝试了不同的方法,但没有得到我想要的结果。主要的是,我想从一个数组中获取值并复制它们,但也要更改一些键名 "amout" -> "value" "desc" -> "description" "issued" -> "issueDate" 输入: { "payments": [ { "value": "128.90", "title": "Opłata za kurs poprawkowy", "de

我对Jolt图书馆有问题。我尝试了不同的方法,但没有得到我想要的结果。主要的是,我想从一个数组中获取值并复制它们,但也要更改一些键名

"amout" -> "value"
"desc" -> "description"
"issued" -> "issueDate"
输入:

{
  "payments": [
    {
      "value": "128.90",
      "title": "Opłata za kurs poprawkowy",
      "desc": "Opłata za kurs poprawkowy z przedmiotu Architektura Komputerów. Prowadzący Janusz Kowalski.",
      "instalment": "1",
      "paymentDate": "2020-01-20",
      "issued": "2020-01-20",
      "status": "1"
    },
    {
      "value": "128.90",
      "title": "Opłata za kurs poprawkowy",
      "desc": "Opłata za kurs poprawkowy z przedmiotu Architektura Komputerów. Prowadzący Janusz Kowalski.",
      "instalment": "2",
      "paymentDate": "2020-02-20",
      "issued": "2020-02-20",
      "status": "2"
    }
  ]
}
输出

{
  "payments": [
    {
      "amount": "128.90",
      "title": "Opłata za kurs poprawkowy",
      "description": "Opłata za kurs poprawkowy z przedmiotu Architektura Komputerów. Prowadzący Janusz Kowalski.",
      "instalment": "1",
      "paymentDate": "2020-01-20",
      "issueDate": "2020-01-20",
      "status": "1"
    },
    {
      "amount": "128.90",
      "title": "Opłata za kurs poprawkowy",
      "description": "Opłata za kurs poprawkowy z przedmiotu Architektura Komputerów. Prowadzący Janusz Kowalski.",
      "instalment": "2",
      "paymentDate": "2020-02-20",
      "issueDate": "2020-02-20",
      "status": "2"
    }
  ]
}

这是一个经典的移位操作。您将需要迭代支付的itens数组,并将每个atribute“移动”回同一索引(&1)处的对象:


这是一个经典的移位操作。您将需要迭代支付的itens数组,并将每个atribute“移动”回同一索引(&1)处的对象:


非常感谢。我创建了一个类似的规范,但是没有&1,我无法使它工作。我刚刚找到了解释所有内容的Jolt幻灯片,但我认为它需要比演示文稿更好的文档:(谢谢!我创建了一个类似的规范,但没有&1,我无法使其工作。我刚刚找到了解释所有内容的Jolt幻灯片,但我认为它需要比演示文稿更好的文档:(
[
  {
    "operation": "shift",
    "spec": {
      "payments": {
        // for each item in array
        "*": {
          // change keys
          "value": "payments[&1].amount",
          "desc": "payments[&1].description",
          "issued": "payments[&1].issueDate",
          // copy everything else
          "*": {
            "@": "payments[&2].&"
          }
        }
      }
    }
  }
]
[
  {
    "operation": "shift",
    "spec": {
      "payments": {
        "*": {
          "value": "payments.[&1].amount",
          "desc": "payments.[&1].description",
          "issued": "payments.[&1].issueDate",
          "*": "payments.[&1].&"
        }
      }
    }
  }
]