Skip to content

JSON 表达式

在 JSON 配置的字段值中嵌入变量。运行时把 ={{变量}} 替换为当前消息中的实际值,支持字符串、数字、布尔、对象、数组。适用于请求体、JSON 字段赋值。

快速上手

字段值写成 ={{变量名}}

json
{
  "title": "={{msg.title}}",
  "level": "={{msg.level}}",
  "sender": "={{msg.sender}}"
}

运行时替换为:

json
{
  "title": "系统告警",
  "level": 3,
  "sender": { "id": "u_001", "name": "运维平台" }
}

语法规则

={{变量名}}
规则说明
前缀 =必须以等号开头,标识动态表达式
{{变量名}}双花括号包裹变量,来自当前消息
嵌套访问. 访问嵌套属性,如 ={{msg.sender.name}}
整字段替换字段值完全={{变量}} 时,替换后类型与变量一致
混合文本含静态文本时(如 "=你好 {{name}}"),结果始终为字符串

替换场景

字符串

json
{ "title": "={{msg.title}}" }
// → { "title": "系统告警" }

静态文本中嵌入变量:

json
{ "subject": "=[{{msg.type}}] {{msg.title}}" }
// → { "subject": "[ERROR] 系统告警" }

数字 / 布尔

整字段为 ={{变量}} 时保留原始类型:

json
{
  "level":   "={{msg.level}}",
  "isRead":  "={{msg.isRead}}"
}
// → { "level": 3, "isRead": false }

对象 / 数组

json
{ "sender": "={{msg.sender}}" }
// → { "sender": { "id": "u_001", "name": "运维平台" } }

{ "tags": "={{msg.tags}}" }
// → { "tags": ["告警", "高优先级"] }

综合示例

json
{
  "subject":  "=[{{msg.type}}] {{msg.title}}",
  "priority": "={{msg.level}}",
  "isUrgent": "={{msg.isUrgent}}",
  "sender":   "={{msg.sender}}",
  "tags":     "={{msg.tags}}",
  "extra": {
    "source":   "platform",
    "operator": "={{msg.sender.name}}"
  }
}

注意事项

  • 变量名拼写错误时,该字段替换为空字符串 "",配置不会报错
  • 嵌套属性中间层为空时,同样返回空字符串,不会中断运行
  • ={{}} 不支持运算(如 ={{a + b}})。运算请用 布尔表达式 或 JS 函数节点
  • 混合静态文本时,无论变量原始类型是什么,结果均为字符串

相关文档