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

Jolt条件转换需求:MC为OTHER时为PID1添加datatype字段

解决方案

以下是满足需求的Jolt转换规则,当MC字段值为OTHER时,自动为PID1添加datatype="string",其他ID添加datatype="integer",同时移除原输入中的MC字段:

[
  {
    "operation": "shift",
    "spec": {
      "MC": {
        "OTHER": {
          "@2,mProperty": {
            "PID1": {
              "$": "mDefintion.mProperty[#2].id.value",
              "@": "mDefintion.mProperty[#2].value[0].valueString.value",
              "#string": "mDefintion.mProperty[#2].datatype"
            },
            "*": {
              "$": "mDefintion.mProperty[#2].id.value",
              "@": "mDefintion.mProperty[#2].value[0].valueString.value",
              "#integer": "mDefintion.mProperty[#2].datatype"
            }
          }
        }
      }
    }
  }
]

关键修正说明

  1. 条件触发逻辑
    通过"MC": {"OTHER": {...}}嵌套结构,实现仅当MC值为OTHER时才执行后续转换,避免无条件触发。

  2. 修正ID值错误
    原代码中PID1的id.value被硬编码为"piid",改为$表示引用当前节点的键名(即PID1),与其他ID的逻辑保持一致。

  3. 添加datatype字段

    • 对PID1使用#string生成固定值"string"作为datatype
    • 对其他ID使用#integer生成固定值"integer"作为datatype
  4. 移除冗余字段
    去掉原代码中的"*": "&"规则,避免保留输入中的MC字段,确保输出仅包含预期的mDefintion结构。

运行结果验证

使用上述规则转换输入后,输出将完全匹配你的预期:

{
  "mDefintion": {
    "mProperty": [
      {
        "id": {
          "value": "PID1"
        },
        "value": [
          {
            "valueString": {
              "value": "value1"
            }
          }
        ],
        "datatype": "string"
      },
      {
        "id": {
          "value": "PID2"
        },
        "value": [
          {
            "valueString": {
              "value": "value2"
            }
          }
        ],
        "datatype": "integer"
      },
      {
        "id": {
          "value": "PID3"
        },
        "value": [
          {
            "valueString": {
              "value": "k1"
            }
          }
        ],
        "datatype": "integer"
      }
    ]
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:30:28