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

我在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","instalment": "2","paymentDate": "2020-02-20","issued": "2020-02-20","status": "2"
    }
  ]
}

输出

{
  "payments": [
    {
      "amount": "128.90","description": "Opłata za kurs poprawkowy z przedmiotu Architektura Komputerów. Prowadzący Janusz Kowalski.","issueDate": "2020-01-20",{
      "amount": "128.90","issueDate": "2020-02-20","status": "2"
    }
  ]
}
surveyphilylyp 回答:摇动-将值从一个数组复制到另一个数组并更改键

这是经典的移位操作。您将需要遍历付款数组的itens,并将每个属性“移”回同一索引(&1)上的对象:

[
  {
    "operation": "shift","spec": {
      "payments": {
        "*": {
          "value": "payments.[&1].amount","desc": "payments.[&1].description","issued": "payments.[&1].issueDate","*": "payments.[&1].&"
        }
      }
    }
  }
]
,
[
  {
    "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].&"
          }
        }
      }
    }
  }
]
本文链接:https://www.f2er.com/2718092.html

大家都在问