最近更新时间:2023-04-26 15:40:34
函数介绍
根据jmes提取指定的值。
语法描述
json_select(value, jmes, default="", restrict=false)
参数说明
参数名称 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|
value | json对象/json字符串 | 是 | 待提取的json值,可以是json对象或json字符串 |
jems | string | 是 | jmes表达式 |
default | string | 否 | 当提取字段不存在时,返回此值 |
restrict | bool | 否 | 当json字符串解析失败时,是否丢弃日志。false:忽略失败,返回default的值,继续处理。true:直接报错,丢弃该条日志。默认false |
示例1
提取k1.k1_1的值,并赋值给新字段filtered。
原始日志
{"content":{"k1":{"k1_1":"v1_1"}}}
加工规则
set("filtered",json_select(v("content"),"k1.k1_1"))
加工结果
{"content":{"k1":{"k1_1":"v1_1"}},"filtered":"v1_1"}
示例2
提取字段json转换失败,返回default设置的值。
原始日志
{"content":"abc"}
加工规则
set("filtered",json_select(v("content"),"k1.k1_1",default="json parse failed"))
加工结果
{"content":"abc","filtered":"json parse failed"}
函数介绍
将指定的xml转换为json。
语法描述
xml_to_json(xml)
参数说明
参数名称 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|
xml | string | 是 | 需要被转换的xml |
示例
将字段content的xml值转换为json对象并输出到字段json_from_xml。
原始日志
{"content":"<user>
<name>ks</name>
<age>23</age>
<address nation=\"china\" province=\"hb\"/>
<score>
<a>100</a>
<b>200</b>
</score>
</user>"}
加工规则
set("json_from_xml",xml_to_json(v("content")))
加工结果
{"content":"<user>
<name>ks</name>
<age>23</age>
<address nation=\"china\" province=\"hb\"/>
<score>
<a>100</a>
<b>200</b>
</score>
</user>",
,"json_from_xml":{"user":{"address":{"-nation":"china","-province":"hb"},"age":"23","name":"ks","score":{"a":"100","b":"200"}}}}
函数介绍
将json字符串转换为json对象。
语法描述
json_parse(value,default="",restrict=false)
参数说明
参数名称 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|
value | string | 是 | 需要被转换的内容 |
default | string | 否 | 当json字符串为空时返回的默认内容 |
restrict | bool | 否 | 当json字符串解析失败时,是否丢弃日志。false:忽略失败,返回default的值,继续处理。true:直接报错,丢弃该条日志。 |
示例
原始日志
{"content":"{\"k1\":\"v1\",\"k2\":\"v2\"}"}
加工规则
set("json",json_parse(v("content")))
加工结果
{"content":"{\"k1\":\"v1\",\"k2\":\"v2\"}","json":{"k1":"v1","k2":"v2"}}
纯净模式