json 用Jolt变换重命名特殊字符键

8mmmxcuj  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(142)

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

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"
} ]
8yparm6h

8yparm6h1#

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

相关问题