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 函数节点- 混合静态文本时,无论变量原始类型是什么,结果均为字符串
