用于获取源代码的 JSONata 转换脚本 override/modifications

JSONata transformation script for taking source as it is with some override/modifications

我有JSON,例如:

{
 "PDMSReferenceNumber": "11340",
 "OntologyClass": "rdl:P101003917",
 "TopTag": "DEEP1",
 "ServiceDescription2": "Main manual",
 "SystemVoltagePrimaryWinding": "",
 "ClearOpeningHeight": "true"
}

是否可以像这样创建 JSONata 脚本:

{
  "*": *,
  "MainTag": TopTag
}

结果应该是

{
 "PDMSReferenceNumber": "11340",
 "OntologyClass": "rdl:P101003917",
 "ServiceDescription2": "Main manual",
 "SystemVoltagePrimaryWinding": "",
 "ClearOpeningHeight": "true",
 "MainTag": "DEEP1"
}

所以我想获取源代码 JSON 并进行一些覆盖和修改。

谢谢!

正是 JSONata 为您“转变”JSON。

您可以简单地这样做:

$.{
"MainTag": TopTag,
"PDMSReferenceNumber": PDMSReferenceNumber,
"OntologyClass": OntologyClass,
"ServiceDescription2": ServiceDescription2,
"SystemVoltagePrimaryWinding": SystemVoltagePrimaryWinding,
"ClearOpeningHeight": ClearOpeningHeight
}

所以左边部分是新对象的“键”,右边是源代码中的“键”JSON(因此我们有“MainTag”:TopTag)

您可以尝试使用变换函数 - https://docs.jsonata.org/other-operators#-------transform

所以这个基本的“复制”TopTag 到 MainTag,添加到对象然后删除 TopTag

$ ~> |$|{'MainTag': TopTag}, ['TopTag']|

给你展示一下: https://try.jsonata.org/YqpO6oUk9