簡體   English   中英

使用 Jolt 對鍵進行 JSON 到 JSON 轉換

[英]JSON to JSON transformation on keys using Jolt

在這里震動新手! 我想從此模板轉換 JSON 輸入:

[
  {
    "canalId": "",
    "startDate": "",
    "typeCanal": "",
    "origin": "",
    "principal": false,
    "ligne1": "",
    "ligne2": "",
    "ligne4": "",
    "ligne6": ""
  },
  {
    ...
  }
]

到同一個模板,只有一些鍵改變了名稱:

[
  {
    "id_canal": "",
    "startDate": "",
    "media": "",
    "origin": "",
    "principal": false,
    "adrL1": "",
    "adrL2": "",
    "adrL3": "",
    "adrL4": ""
  },
  {
    ...
  }
]

到目前為止,我設法要么使用這個規范:

[
    {
      "operation": "shift",
      "spec": {
        "*": {
          "canalId": "&1.id_canal",
          "typeCanal": "&1.media",
          //More if needed
          "*": "&1.&"
        }
      }
    }
  ]

但是它返回了一些我不需要的索引,而且我想保留它是一個 Json 數組的事實,也就是方括號。

或者這個,但它需要對傳入的 JSON 進行拆分以僅處理其中的一部分:

[
  {
    "operation": "shift",
    "spec": {
      "canalId": "id_canal",
      "typeCanal": "media",
      // More if needed
      "*": "&"
    }
  }
]

但在那種情況下,我希望它成為一個 JSON 數組,而不僅僅是一個 JSON 對象。

我在 Camel 路線中使用了所有這些,因為這是要求,有沒有我可以使用的規范可以做到這一點? 或者也許是基於駱駝本身的另一個想法?

提前致謝!

在你的后面添加一個額外的班次就可以了:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "canalId": "&1.id_canal",
        "typeCanal": "&1.media",
        //More if needed
        "*": "&1.&"
      }
    }
    },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[&1].&"
      }
    }
    }
  ]

暫無
暫無

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

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