特定结构化数据函数
更新时间:2025-11-28
特定结构化数据函数
简介
本文介绍JSON结构化数据函数的语法规则,包括参数解释、函数示例等。
json_select 函数
函数定义
根据JMES语法提取或计算JSON表达式中特定的值。
语法描述
Text
1json_select(value, jmes, default=None, restrict=False)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 传入待提取字段的值 | Any | 是 | - | - |
| jmes | JMES表达式,表示提取的字段 | String | 是 | - | - |
| default | 如果提取字段不存在,则返回此处设置的值 | String | 否 | "" | - |
| restrict | 提取字段的值不是合法的JSON格式时,是否严格限制加工。默认值False。False:忽略报错,数据加工继续处理,返回default定义的值。True:直接报错,数据加工不再继续处理,直接丢弃该条日志 | Boolean | 否 | false | - |
示例
- 示例1
原始日志:
Text
1{"@raw": "{\"name\": \"xiaoming\", \"age\": 10}"}
加工规则:
Text
1e_set("json_select",json_select(v("@raw"), "name"))
加工结果:
Text
1{"@raw": "{\"name\": \"xiaoming\", \"age\": 10}", "json_select": "xiaoming"}
json_select 函数
函数定义
根据JMES语法提取或计算JSON表达式中特定的值。
语法描述
Text
1json_parse(value, default=None, restrict=False)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 传入待解析字段的值 | Any | 是 | - | - |
| default | 如果提取字段不存在,则返回此处设置的值 | String | 否 | "" | - |
| restrict | 提取字段的值不是合法的JSON格式时,是否严格限制加工。默认值False。False:忽略报错,数据加工继续处理,返回default定义的值。True:直接报错,数据加工不再继续处理,直接丢弃该条日志 | Boolean | 否 | false | - |
示例
- 示例1
原始日志:
Text
1{"@raw": "{\"name\": \"xiaoming\", \"age\": 10}"}
加工规则:
Text
1e_set("json_parse",json_parse(v("@raw")))
加工结果:
Text
1{"@raw": "{\"name\": \"xiaoming\", \"age\": 10}", "json_parse": {"name": "xiaoming", "age": 10}}
