如何通过Telegraf的json_query为JSON设置默认值与常量值
Telegraf JSON插件:通过json_query添加默认值与常量字段
1. 为缺失字段设置默认值
你可以使用JSONPath的??默认值运算符,在字段缺失时返回指定默认值。修改你的json_query为:
#.{aa: a ?? "default", bb: b}
- 当输入JSON包含
a字段时,aa会取a的原值(如示例中的"str"); - 当
a字段缺失时,aa会自动填充为"default",输出结果为[{"aa":"default","bb":1123}],符合你的期望。
2. 添加字符串/数字类型的常量字段
无需使用复杂的表达式,直接在json_query的对象构造中添加键值对即可:
- 字符串常量:用引号包裹值,比如
str: "bbb"; - 数字常量:直接写数值,比如
int: 2。
最终完整的json_query示例:
#.{aa: a ?? "default", bb: b, str: "bbb", int: 2}
对应两种输入的输出分别为:
- 含
a的输入:[{"aa":"str","bb":1123,"str":"bbb","int":2}]; - 缺
a的输入:[{"aa":"default","bb":1123,"str":"bbb","int":2}]。
内容的提问来源于stack exchange,提问作者user2025098
相关产品推荐
相关产品推荐

