0

我有 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 并进行一些覆盖和修改。

谢谢!

4

2 回答 2

2

您可以尝试使用转换功能 - https://docs.jsonata.org/other-operators#-------transform

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

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

在这里你去展示它: https ://try.jsonata.org/YqpO6oUk9

于 2022-01-20T10:40:00.373 回答
0

正是 JSONata 为您“转换”JSON 所做的。

你可以简单地这样做:

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

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

于 2022-01-04T16:42:03.120 回答