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

如何通过Jolt Processor将JSON数据转换为键值对格式?

Jolt转换方案:将键值对结构转为key-value对象数组并修改指定字段

需求说明

需要将输入JSON中alertArray内properties数组的键值对对象,转换为包含key和value字段的对象数组,同时完成两处修改:

  • 将ConnectorID的value从"1"改为"2"
  • 将IDTag的key替换为"DTag"

输入JSON

{
  "tenantId": "master",
  "transactionId": "838",
  "alertArray": [
    {
      "alertType": "info",
      "priority": "low",
      "data": "new",
      "properties": [
        {
          "ConnectorID": "1",
          "ConnectorType": "IEC_60309",
          "IDTag": "A5270529",
          "abc": "xyz",
          "pqr": "rst",
          "bals": "ahjdgcd"
        }
      ]
    }
  ]
}

Jolt转换规格

[
  {
    "operation": "shift",
    "spec": {
      "tenantId": "tenantId",
      "transactionId": "transactionId",
      "alertArray": {
        "*": {
          "alertType": "alertArray[&1].alertType",
          "priority": "alertArray[&1].priority",
          "data": "alertArray[&1].data",
          "properties": {
            "*": {
              // 处理ConnectorID:修改value为2
              "ConnectorID": {
                "$": "alertArray[&4].properties[].key",
                "#2": "alertArray[&4].properties[].value"
              },
              // 处理IDTag:修改key为DTag
              "IDTag": {
                "#DTag": "alertArray[&4].properties[].key",
                "@": "alertArray[&4].properties[].value"
              },
              // 其他字段直接映射key和value
              "*": {
                "$": "alertArray[&4].properties[].key",
                "@": "alertArray[&4].properties[].value"
              }
            }
          }
        }
      }
    }
  }
]

转换规则解释

  1. 顶层字段保留:直接映射tenantId、transactionId以及alertArray内的alertType、priority、data字段,保持原有结构。
  2. ConnectorID处理:用#2硬编码替换原value,同时保留原key名称。
  3. IDTag处理:用#DTag替换原key名称,保留原value不变。
  4. 通用字段处理:对其他所有键值对,将键名作为key字段值,键值作为value字段值,自动生成对应的对象。

期望输出JSON

{
  "tenantId": "master",
  "transactionId": "838",
  "alertArray": [
    {
      "alertType": "info",
      "priority": "low",
      "data": "new",
      "properties": [
        {
          "key": "ConnectorID",
          "value": "2"
        },
        {
          "key": "ConnectorType",
          "value": "IEC_60309"
        },
        {
          "key": "DTag",
          "value": "A5270529"
        },
        {
          "key": "abc",
          "value": "xyz"
        },
        {
          "key": "pqr",
          "value": "rst"
        },
        {
          "key": "bals",
          "value": "ahjdgcd"
        }
      ]
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:35:23