转换JSON阵列并更改标签的震动

发布于 2025-02-09 05:20:28 字数 1350 浏览 3 评论 0原文

我有下面的JSON。

[
  {
    "CATENTRY_ID": "3074457345616677728",
    "USAGE": "1",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0"
  },
  {
    "CATENTRY_ID": "3074457345616677729",
    "USAGE": "1",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0"
  }
]

使用JOLT操作,我想如下转换。重命名catentry_id to productid 删除从JSON中

[
  {
    "ProductId": "3074457345616677728",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0",
  },
  {
    "ProductId": "3074457345616677729",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0",
  }
]

使用我在下面的操作中使用了相同的操作,但是重命名在我的情况下不起作用。 strong Text

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[&1].&0",
        "LANGUAGE_ID": "LANGUAGE_ID"
      }
    }
  }
]

I have a JSON as below.

[
  {
    "CATENTRY_ID": "3074457345616677728",
    "USAGE": "1",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0"
  },
  {
    "CATENTRY_ID": "3074457345616677729",
    "USAGE": "1",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0"
  }
]

Using JOLT operation I want to convert as below. Rename CATENTRY_ID to ProductId and remove USAGE from JSON

[
  {
    "ProductId": "3074457345616677728",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0",
  },
  {
    "ProductId": "3074457345616677729",
    "LANGUAGE_ID": "-1",
    "STOREENT_ID": "10051",
    "ATTRTYPE_ID": "STRING",
    "ATTR_ID": "7741124012283333360",
    "ATTR_SEQUENCE": "0",
  }
]

I have used below operation to achieve same, However rename is not working in my case.strong text

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[&1].&0",
        "LANGUAGE_ID": "LANGUAGE_ID"
      }
    }
  }
]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑红尘 2025-02-16 05:20:28

您是如此接近,只需过滤thering _id的属性,并领导attr _,以便在内部使用键name 限制属性当前的偏移转换,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*_ID|ATTR_*": "[&1].&",
        "CATENTRY_ID": "[&1].ProductId"
      }
    }
  }
]

网站上的演示 http://jolt-demo.appspot.com/ 是

“在此处输入图像描述”

You're so close, just filter for the attributes with trailing _ID, and leading ATTR_ in order to exempt the attribute with key name USAGE within the current shift transformation such as

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*_ID|ATTR_*": "[&1].&",
        "CATENTRY_ID": "[&1].ProductId"
      }
    }
  }
]

the demo on the site http://jolt-demo.appspot.com/ is

enter image description here

﹂绝世的画 2025-02-16 05:20:28

此规格将为您提供您想要的解决方案,您需要2个操作来完成:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[#2].&",
        "CATENTRY_ID": "[#2].ProductId"
      }
    }
    }, {
    "operation": "remove",
    "spec": {
      "*": {
        "USAGE": ""
      }
    }
    }

]

This Spec will give you the solution you want you require 2 operations to do it :

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[#2].&",
        "CATENTRY_ID": "[#2].ProductId"
      }
    }
    }, {
    "operation": "remove",
    "spec": {
      "*": {
        "USAGE": ""
      }
    }
    }

]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文