【问题标题】:Renaming Special character key with Jolt transform使用 Jolt 变换重命名特殊字符键
【发布时间】:2022-12-22 06:26:21
【问题描述】:

请帮助我编写 jolt 规范以使用特殊字符“@”重命名密钥。当我在 jolt spec 中放置“@”时,它不起作用。我收到以下错误

Error running the Transform.

JOLT Chainr encountered an exception constructing Transform className:com.bazaarvoice.jolt.Shiftr at index:0.

Invalid key:Company@1 can not have an @ other than at the front.

请帮助解决这个问题。

输入 JSON

[
  {
    "C": "p",
    "ID": 1,
    "Company@1": "Tesla",
    "Age": 30.2,
    "Year": 1996,
    "Time": "22/10/1996"
  },
  {
    "C": "p",
    "ID": 2,
    "Company@1": "Facebook",
    "Age": 40.5,
    "Year": 2001,
    "Time": "22/10/2001"
  }
]

JOLT规格

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "Company@1": "[#2].CompanyTest",
        "Age": "[#2].AgeTest",
        "*": "[#2].&"
      }
    }
  }
]

预期产出

[ {
  "C" : "p",
  "ID" : 1,
  "CompanyTest" : "Tesla",
  "AgeTest" : 30.2,
  "Year" : 1996,
  "Time" : "22/10/1996"
}, {
  "C" : "p",
  "ID" : 2,
  "CompanyTest" : "Facebook",
  "AgeTest" : 40.5,
  "Year" : 2001,
  "Time" : "22/10/2001"
} ]

【问题讨论】:

    标签: json jolt


    【解决方案1】:

    需要通过在前面加上双反斜杠(例如 Company\@1)来转义,以防止出现错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-12
      • 1970-01-01
      • 2018-12-25
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      相关资源
      最近更新 更多