You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Jolt规范处理JSON:提取资源名与拆分Tags字段

Jolt转换规范实现方案

需求说明

  • 从ResourceId字段中提取斜杠分隔的最后一段内容,作为新字段Resourcename
  • 保留原始Tags字段不变,同时从Tags的字符串内容中解析出Name和Owner两个独立字段

输入示例

[
  {
    "ResourceId": "/subscriptions/bb842437aa4/resourceGroups/ECHLABHENKEL/providers/Microsoft.Compute/virtualMachines/pmoapps",
    "Tags": "Name\" : \"PMOapplication\",\"Owner\" : \"Breil sathish"
  },
  {
    "ResourceId": "/subscriptions/bb842437aa4/resourceGroups/HCLTECHLABHENKEL/providers/Microsoft.Compute/virtualMachines/pmoapps",
    "Tags": "Name\" : \"PMOapplication\",\"Owner\" : \"Breil sathish1"
  }
]

期望输出示例

[
  {
    "ResourceId": "/subscriptions/bb842437aa4/resourceGroups/ECHLABHENKEL/providers/Microsoft.Compute/virtualMachines/pmoapps",
    "Tags": "Name\" : \"PMOapplication\",\"Owner\" : \"Breil sathish",
    "Resourcename": "pmoapps",
    "Name": "PMOapplication",
    "Owner": "Breil sathish"
  },
  {
    "ResourceId": "/subscriptions/bb842437aa4/resourceGroups/HCLTECHLABHENKEL/providers/Microsoft.Compute/virtualMachines/pmoapps",
    "Tags": "Name\" : \"PMOapplication\",\"Owner\" : \"Breil sathish1",
    "Resourcename": "pmoapps",
    "Name": "PMOapplication",
    "Owner": "Breil sathish1"
  }
]

Jolt规范

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "Resourcename": "=split('/', @(1,ResourceId))[-1]",
        "tempTags": "=replaceAll(@(1,Tags), '[\" :]', '')",
        "tempTagsSplit": "=split(',', @(1,tempTags))",
        "Name": "=substringAfter(@(1,tempTagsSplit[0]), 'Name')",
        "Owner": "=substringAfter(@(1,tempTagsSplit[1]), 'Owner')"
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "*": {
        "tempTags": "",
        "tempTagsSplit": ""
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "&"
      }
    }
  }
]

规范说明

  1. modify-overwrite-beta 阶段:
    • 用split('/', @(1,ResourceId))[-1]把ResourceId按斜杠拆分,直接取数组最后一个元素生成Resourcename
    • 先清理Tags字符串里的引号、空格和冒号,再按逗号拆分成数组,分别提取Name和Owner的内容
  2. remove 阶段:删除临时生成的tempTags和tempTagsSplit字段
  3. shift 阶段:确保所有原始字段和新增字段都被保留输出

内容的提问来源于stack exchange,提问作者Sathish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 12:45:34