簡體   English   中英

如何將內部字段映射到 jolt 中的同一個數組對象?

[英]How can I map inner fields to the same array object in jolt?

有這個輸入json:

{
  "orderItems": [
    {
      "itemName": "Mozzz",
      "quantity": 1
    },
    {
      "itemName": "zer",
      "quantity": 0,
      "bar": {
        "arr": [
          {
            "meta_itemName": "Small Barqs2",
            "meta_quantity": 22
          }
        ]
      }
    }
  ]
}

我正在嘗試將 orderItems 對象數組中的“meta_”前綴字段向上移動,從而消除bararr鍵。

我試過這個規范:

 [
  {
    "operation": "shift",
    "spec": {
      "orderItems": {
        "*": {
          "quantity": "basket_item[#2].quantity",
          "itemName": "basket_item[#2].itemName",
          "bar": {
            "arr": {
              "*": {
                "meta_itemName": "basket_item[#2].m2",
                "meta_quantity": "basket_item[#2].m3"
              }
            }
          }
        }
      }
    }
  }
]

但重命名為 m2 和 m3 的字段不會留在“zer”項內。

這個規范應該適合你(用https://jolt-demo.appspot.com/測試)

[
  {
    "operation": "shift",
    "spec": {
      "orderItems": {
        "*": {
          "bar": {
            "arr": {
              "*": { "meta_*": "orderItems[&4].&" }
            }
          },
          "*": "orderItems[&1].&"
        }
      }
    }
  }
]

輸入的輸出:

{
  "orderItems" : [ {
    "itemName" : "Mozzz",
    "quantity" : 1
  }, {
    "itemName" : "zer",
    "quantity" : 0,
    "meta_itemName" : "Small Barqs2",
    "meta_quantity" : 22
  } ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM